preprocessor-directive

    3热度

    1回答

    使用此: -DME=AWESOME 这: #if ME==AWESOME #error Im awesome! #endif 产生这样的: Registers.cpp:59:2: error: #error Im awesome! 但这: #if ME==NOTSOGREAT #error Im confused! #endif 个 收益率这样的: Registers.

    0热度

    1回答

    定义我在看一些Ç代码厂商与预编译Ç文件用自己的头文件。我遇到的问题是:由于它是供应商特定的代码,因此我没有对代码的读/写访问权限(由于某种原因,它阻止了我,但这是一个不同的问题),并且他们将预处理指令定义为: #include <fun.h> 这是很好的,但因为我不能编辑文件,我不能追加.h文件的路径,如 #include "C:\some\directory\fun.h" 我假设当我安装

    1热度

    1回答

    我正在将项目链接到库。根据库的版本,某些API和typedef是不同的。 无法提取库版本。我希望在编译时确定这个库的版本并定义一个相应的预处理器变量。 更确切地说,我会如下 #ifdef size_type #define LIBRARY_VERSION 1.0 #else #define LIBRARY_VERSION 2.0 #endif 的问题是,SIZE_TYPE不是宏但使用t

    4热度

    3回答

    我有一个巨大的python代码,有很多打印语句对调试很有用。我希望能够一次性启用或禁用它们,而无需每次仔细阅读数百个printf并对它们进行评论。 在C中,#define可用于使用#ifdef喜欢这个 - #define debug #ifdef debug printf("Debug on") #endif 注释掉的代码不需要的部分。如果我不希望在调试模式下,我可以简单地评论的

    2热度

    1回答

    说我有一个文件夹布局这样: . +-- Project +-- src +-- foo.h +-- foo.cpp +-- test +-- test_foo.c 而且test_foo.c看起来这样: #include "../src/foo.h" #include <stdio.h> #include <assert.h> i

    -1热度

    2回答

    我知道我可以使用预处理宏有条件地编译某些方法调用,例如: #if SOMETHING #define fmod(...) #endif ... fmod(34.0, 452.0); //this line doesn't get compiled if SOMETHING != 0. 我可以使用同样的程序条件编译方法与要求打开和关闭括号? 说我想所有来电条件编译的类MyClass: [

    -3热度

    1回答

    这些指令是代码和工作的一部分。但我不明白他们的语法。我只知道“\”意味着代码继续下一行。有谁能够帮助我?为什么有一个“;”。什么“ADDPOPUPMENU”的意思,为什么大写? #define ADDPOPUPMENU(hmenu, string) \ HMENU hSubMenu = CreatePopupMenu(); \ AppendMenu(hmenu, MF_STRING | MF_

    1热度

    1回答

    我正在用一个小函数库编写Matrix类。 该课程能够实现急切和懒惰的评估。我希望用户选择课程是否总是渴望或者如果可能的话会很懒。 问:是否有提供这种输入一个标准的方式? 我没有太多的经验,所以我没有真正看过标准库或增强版或其他版本是否(以及如何)这样做。可能使用的方式可能是: 有一个静态全局变量并为用户提供一个设置其值的方法。 检查一个预处理器指令,如果已定义或不确定要编译的类的代码。 其他???

    2热度

    1回答

    我想将预处理指令嵌入到函数名中。基本上我想制作一个宏,它将预处理器定义作为参数,并将其定义的VALUE连接起来以获取函数名称。 基本上这样的: #define PREFIX foo #define CALL(P, x) _##P_bar(x) ...then CALL(PREFIX, x) should become _foo_bar(x) 不幸的是这会导致_P_bar而不是_foo_

    -1热度

    1回答

    当我们导入C#遗留dll文件,我们使用类似下面的符号: [DllImport("user32.dll")] // Why am I enclosed in "["s static extern int MessageBoxA(int hWnd, string strMsg, string strCaption, int iType); OR也: [MarshalAs(UnmanagedT