小编D.N*_*uko的帖子

这是一个通用函数指针,它是危险的吗?

学习并弄乱了函数指针,我注意到了一种初始化void函数指针并转换它们的方法.然而,虽然我没有收到任何警告或错误,无论是使用GCC还是VS的编译器,我都想知道这样做是危险的还是坏的做法,因为我没有看到这种方法通常在互联网.而且,我们称之为通用函数指针吗?

#include <stdio.h>
#include <stdint.h>
#include <conio.h>

#define PAUSE (_getch())

uint16_t add(const uint16_t x, const uint16_t y) {
    return x + y;
}

char chr(uint8_t test) {
    return (char)test;
}

int main(void) {

    void(*test)() = (void*)add;

    const uint16_t x = 1, y = 1;
    uint16_t value = ((uint16_t(*)())test)(x, y);

    test = (void*)chr;

    printf("%d\n", add(x, y));                    // 2
    printf("%d\n", value);                        // 2
    printf("%c\n", ((char(*)())test)(100));       // d

    PAUSE;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c pointers

8
推荐指数
2
解决办法
1676
查看次数

Vim for Windows:Python无法正确加载/"崩溃"

我一直在努力安装一些在Vim(Windows)上使用python的插件.即使有股票vimrc.

使用官方vim 7.4二进制文件(x86)

  • 我已经检查过它带有+ python/dyn和+ python3/dyn
  • 我安装了Python 2.7.10 x86,并在Path环境中附加了python的路径.
  • :echo has('python')1按预期打印.
  • 然而:当我输入时:python print 'test',vim退出,就像我输入一样:q
  • :python mum tell me, why does windows exists?,它也退出了.想知道为什么...... print至少不是问题.

使用tuxproject的vy 7.4.826(x86)的夜间版本

  • 它确实带有+ python/dyn和+ python3/dyn.也:

使用的库:Perl 5.22.1,Python 2.7.10,Python 3.4.3,Ruby 2.2.3,Lua 5.3.0,Tcl 8.6.4,libXpm.

大!这是我下载的版本(2.7.10)!等待...

  • :echo has('python')1按预期打印.
  • 但是,"圣诞快乐!" vim说.

抱歉,此命令已禁用,无法加载Python的站点模块.Windows不够好.哦,祝圣诞快乐!

使用tuxproject的vy 7.4.826(x64)的夜间版本

我尝试使用x64的python二进制文件,负责从我的Path变量中删除x86版本.与上述问题相同.

使用Kaoriya的vim 7.4.something(x64)Veegee的vim 7.4.803

与上述问题相同.

编译vim怎么样?

视窗.


我不是那么懒,嗯,我是......但是如果没有其他解决办法,我会尝试编译它.如果它不能解决任何问题,我真的不想编译它.如果我能够至少理解为什么会发生这些问题......

windows vim vim-plugin python-2.7

7
推荐指数
1
解决办法
2927
查看次数

Qt Creator自动完成

我已经在Windows上使用QtCreator几天了,我打算用它作为我的主要IDE来用C++编写代码(我现在不会使用Qt的库).

虽然,我真的很想念Visual studio的自动完成功能,特别是在输入功能时.

我试过使用Clang Code Model,但它似乎没有解决我的"问题",它们是:

1. Qt的自动完成不像Visual Studio那样被动;

2.如果一个人开始在参数列表出现之前键入一个函数及其第一个参数,则必须删除开头的括号并等待它最终出现之前;

3.参数列表和自动完成框不能同时显示;

4.您通常必须通过按下ctrl + space手动启用自动完成.

c++ qt autocomplete qt-creator visual-studio

3
推荐指数
1
解决办法
8138
查看次数