c-preprocessor 相关问题

C和C ++计算机编程语言的宏预处理步骤。此标记还可用于有关源自或具有相同功能的其他编译器/语言的问题,例如Objective-C或C#中的#directives。

结合C ++和C - #ifdef __cplusplus如何工作?

我正在开发一个包含大量遗留C代码的项目。我们已经开始用C ++编写,目的是最终转换遗留代码。我对C和C ++的看法有点困惑......

回答 4 投票 281

为什么字符串化运算符只被接受为宏?

我试着在我的代码中使用#运算符:#include int main(void){printf(“hello%s !!! n”,#world);返回0;使用gcc编译,此代码会出现以下错误:...

回答 2 投票 4

我应该在标题中使用#include吗?

是否有必要#include一些文件,如果在标题(* .h)内,使用此文件中定义的类型?例如,如果我使用GLib并希望在我的...中定义的结构中使用gchar基本类型

回答 9 投票 62

真实使用X-Macros

我刚学会了X-Macros。您看过X-Macros的实际用途?他们什么时候成为工作的合适工具?

回答 6 投票 63

具有0..n参数的跨平台可变参数宏

对于参数包,我需要一个宏,它可以采用任意数量的参数(实际类型),它可以跨平台工作。此代码与GCC,LLVM和MSVC很好地协同工作(在预处理器之后...

回答 2 投票 0

解决方案范围内的#define

有没有办法全局声明#define?就像我想拥有一个文件,例如#define MONO,我希望所有源代码文件都知道这个预处理器指令是定义的。 ...

回答 8 投票 45

#line是什么意思?

以下几行有什么作用? #line 25“CSSGrammar.y”和扩展名有什么关系?

回答 7 投票 11

用C宏替换函数/变量名称的一部分

我正在编写一些代码,我想多次使用,但功能和变量名称略有不同。我想用宏替换部分函数和变量名。 gcc文件名....

回答 1 投票 2

如何使用预处理器缩短这些行?

我在我的代码中有这些行,并且认为可能有一些很好的方法来使用预处理器来生成这些行(0到31)。 Mem_type MEM_0 [MAX_NUM_MEM]; Mem_type MEM_1 [...

回答 5 投票 1

是否有充分的理由始终在C中用括号括起一个定义?

很明显,有些时候#define语句必须有括号,如下所示:#define WIDTH 80 + 20 int a = WIDTH * 2; //期望a == 200但是= = 120所以我总是括号,即使它只是...

回答 9 投票 48

预处理器定义在Release模式下工作,而不是Debug

我试图在一个源文件hw_model.cpp中定义一个预处理器宏,并将其保留在另一个,main.cpp中。当我在x64发布模式(Visual Studio 2017)中运行此程序时,...

回答 1 投票 0

为什么C预处理器试图解析#if 0块中的引号? [重复]

demo.c:#if 0有什么问题? #endif这产生(gcc)demo.c:2:5:警告:缺少终止'字符有什么问题? ^但是这个编译:#if 0问题是什么? #万一 ...

回答 1 投票 2

如何使用算术生成预处理器定义?

我想动态创建预处理器文字字符串,其中部分字符串由某些算术创建,例如:math(x)x - 0x1234。生成的定义将由......生成

回答 2 投票 2

mysql.h:没有这样的文件或目录

我在Windows环境中使用代码块。这是我连接到mysql数据库的c代码。 / *简单的C程序连接到MySQL数据库服务器* / #include #include&...

回答 1 投票 0

编译类库中的#if DEBUG指令

我将在类库中使用#if DEBUG指令。已编译的ClassLibrary.dll将在单独的Application.exe中使用。我的调试代码是否会在...中执行...

回答 2 投票 0

C / C ++宏字符串连接

#define STR1“s”#define STR2“1”#define STR3 STR1 ## STR2是否可以连接STR3 ==“s1”?您可以通过将args传递给另一个宏函数来完成此操作。但是有......

回答 3 投票 101

C中的循环#defines

请注意 - 我没有写这段代码,我只是想保持/改进它。我的一个头文件包含以下行:/ *宏来播种随机数生成器* / / *这需要......

回答 5 投票 2

如何比较C条件预处理程序指令中的字符串

我必须在C中做这样的事情。它只有在我使用char时才有效,但我需要一个字符串。我怎样才能做到这一点? #define USER“jack”// jack或queen #if USER ==“jack”#define USER_VS“queen”#elif ...

回答 9 投票 75

C中带有花括号的#define

我在C中找到了一种新形式的“#define”,但我不明白这意味着什么。这是源代码:#define OPT_SET_INT(s,l,v,h,i){OPTION_SET_INT,(s),(l),(v),NULL,\(h),...

回答 1 投票 2

根据x64 / x86更改C#DllImport目标代码

我有一个使用DLLImport导入的外部c ++ dll。如果我的应用程序在x64中编译,我需要导入这个dll的x64版本,如果是x86版本,我需要x86 dll。哪个最好 ...

回答 2 投票 15

© www.soinside.com 2019 - 2024. All rights reserved.