c-preprocessor

    8热度

    5回答

    我需要帮助做以下几点: 预处理宏标签(X)须输出 “#X”,例如, #define label(x) ... 如果我叫标签(aname),输出应为“# aname“(没有引号) 我知道,以下尝试是错误的。 ​​ 它可能存在一种转义#(磅),但我不知道,如何逃生? 编辑:我跑“的gcc-E测试-o测试.html“来获得输出。重点是:只有使用预处理器的功能,如何用makro打印出散列标记(#)?

    4热度

    7回答

    可以使用#define printf删除对printf()的所有调用。如果我有很多调试打印,如std::cout << x << endl;怎么办?如何使用预处理器快速关闭cout <<语句在单个文件中? IFDBG(cout << result << endl); 然后你就可以定义宏相应:

    5热度

    8回答

    我需要知道C++中的#define指令是否声明全局标签?全球我的意思是在每个文件中都可见? 我使用Visual Studio 2008,(想,如果该事项)

    6热度

    2回答

    我已经看到很久以前使用hlsl/glsl着色器代码完成此操作 - 在源代码文件上使用#include,该代码将代码粘贴到char*中,以便在运行时不会发生文件IO。 如果我是它表示为伪代码,它看起来有点像这样: #define CLSourceToString(filename) " #include "filename" " const char* kernel = CLSourceToStr

    0热度

    12回答

    说我有一个文件,t.txt,包含以下两行打印文件的内容: one two 现在,我想编写一个程序这将#include该文件以某种方式并打印其内容,仅此而已。也就是说,我希望该文件的内容在编译时作为静态文本出现在我的代码中。 任何想法? 原因IM问的是这样的: 我想通过包括我自己的文件(ifndefs,以防止前两个后递归包含)创建奎因:http://en.wikipedia.org/wiki

    5热度

    2回答

    我正在进入微控制器黑客行为,虽然我很熟悉按位运算符和正确的硬件说话,但我发现代码非常冗长,并且没有样板。我的高级程序员想要找到一种有效但有效的方法来清理它。 例如,有一个在寄存器中很多设置的标志: /* Provided by the compiler */ #define SPIE 7 #define SPE 6 #define DORD 5 #define MSTR 5 #defin

    3热度

    1回答

    我在想,如果有一个应用程序的目标名称一个Xcode或GCC预处理符号。 例如,如果我建立所谓的“MonkeyChicken”的应用程序,有没有预处理器符号,使得 printf(__TARGET_NAME__) 输出: MonkeyChicken

    6热度

    1回答

    我希望我的XCode Objective-C项目能够检测到它正在构建的配置。我怎样才能做到这一点?

    -1热度

    3回答

    我对宏有疑问。我怎么能通过宏模板类投射到普通类。例如: #define RUNTIME_CLASS(class_name) ((CRuntimeClass*)(&class##class_name)) template<typename T> A {}; if (RUNTIME_CLASS(A)); 我知道这段代码不会编译,因为它不会看到模板位。但我不明白实际的宏。它的返回看起来像(C

    0热度

    3回答

    我正在寻找一个庞大的旧的C程序并将其转换为C++(我是新来的)。 有很多复杂的预处理器黑客正在连接到这样一个事实,即该程序必须在许多不同的平台上以多种不同的配置运行。 在一个文件中(称为file1.c)我是致电functionA()。 而在另一个文件中(称为file2.c)我有一个定义functionA()。 不幸的是,函数的确切类型是由一系列以令人眼花缭乱的方式创建的宏指定的。 现在接头抱怨并: