c-preprocessor 相关问题

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

这个无括号的 C 预处理器定义安全吗?

在我的 /usr/include 目录中,至少有两个为 C++ code1 量身定制的 #define NULL 0 变体: #define NULL 0 // 来自 rpc/types.h #define NULL (0) // 来自 libio.h 我感觉我...

回答 5 投票 0

C++ 预处理器标准行为

我正在研究有关预处理器确切行为的 C++ 标准(我需要实现某种 C++ 预处理器)。 据我了解,我编造的例子(为了帮助我理解)b...

回答 3 投票 0

C 中 #define 预处理器的范围

#define 的作用范围是到文件末尾。但从哪里开始呢。 基本上我尝试了以下代码。 #包括 #包括 #定义圆周率3.14 无效的乐趣(...

回答 6 投票 0

布尔运算符可以与预处理器一起使用吗?

我想知道是否可以有预处理器 OR 或 AND 语句? 我有这个代码,我想在 _DEBUG 或 _UNIT_TEST 标签下运行(?)。 我想要如下的东西: #if _DEBUG ||

回答 3 投票 0

使用“”或<>

为什么元组文档说要使用,例如: #include“boost/tuple/tuple.hpp” 而不是 #包括 我知道我的代码不太可能有文件调用...

回答 6 投票 0

g++ __FUNCTION__ 替换时间

谁能告诉 g++ 何时用包含函数名称的字符串替换 __FUNCTION__ '宏'?看来只有在检查源的语法正确性后才能替换它......

回答 7 投票 0

检测 C 中带括号的宏参数

我想要一个宏来检测传递的arg是否被括号包围,如果是,则调用不同的宏。 例如 #define FOO(obj) BAR obj #define BAR(...) func(__VA_ARGS__) #定义酒吧 ...

回答 1 投票 0

使用 C 宏将字符串转换为非字符串[重复]

我知道可以使用如下宏将某些内容转换为字符串: #定义字符串#s printf("%s", STRING(我是字符串)); 但有可能反其道而行之吗? #define MyType(类型...

回答 1 投票 0

仅使用 ESP-IDF 运行预处理器

我想在预处理后查看我的 esp-idf 代码(查看 #ifdef 中的哪些代码将被编译)。 我尝试在我的主 CMake 文件中添加“add_compile_optins(-E)”,但构建失败...

回答 1 投票 0

## 对于 C(C++) 预处理器意味着什么?

我有一个C程序如下: #定义f(g,g2) g##g2 主要的() { int var12=100; printf("%d",f(var,12)); } 当我只运行预处理器时,它会将其扩展为 { int var12=100; printf("%d",var12); } 什...

回答 4 投票 0

#ifdef 里面#define

我正在尝试写这样的东西: #定义COV_ON(x) \ #ifdef COVERAGE_TOOL \ _Pragma(覆盖范围#x) #endif 有什么方法可以定义CO...

回答 6 投票 0

将逗号分隔的结构初始值设定项传递给 C 预处理器宏

长序言 在许多情况下,将枚举与数组元素关联起来很有用,这样枚举名称始终与数组元素保持同步。 对于这种事情,一个“宏t...

回答 2 投票 0

#warning 预处理器指令的可移植性

我知道#warning指令不是标准的C/C++,但有几个编译器支持它,包括gcc/g++。 但对于那些不支持的人,他们会默默无视还是会导致……

回答 6 投票 0

使用 MSBuild 从命令行定义预处理器值[重复]

我需要创建由多个项目组成的现有大型应用程序的演示版本。 我想使用现有的项目,并通过预处理器指令中性化功能...

回答 3 投票 0

有办法检查是否包含<string.h>吗?

我正在创建一个仅包含标头的库,我想检查用户是否已定义以便我可以使用memcpy。我在网上读到有关像 stdio 这样的库如何具有保护宏的信息,但我可以...

回答 3 投票 0

规范中哪里定义了这种避免宏扩展的方式?

给出以下代码: #包括 #包括 int main() { std::numeric_limits::max(); } 我可以避免 max() 的预处理器宏扩展

回答 1 投票 0

C 中具有循环依赖的文件编译顺序

/* * 结构体.h * * 创建于:2019 年 6 月 14 日 */ #ifndef STRUCTS_H_ #定义STRUCTS_H_ #包括 #include“line_mask.h” #定义 CONFIG_LINE_NUM ...

回答 1 投票 0

如何区分预处理器指令和编译器指令?

我被告知GCC中的#pragma omp指令是编译器的指令,而不是预处理器的指令。 正确吗? 如何区分预处理器指令和编译器指令?

回答 2 投票 0

gcc 预处理器在 #if

我遇到了奇怪的问题,因为 gcc 预处理器在 #if 指令上失败。 示例代码: #include“stdio.h” 枚举板类型{ Board_IO_WithAdc, Board_IO_WithEnc, Board_PakelcIn,

回答 1 投票 0

源文件是否应该以新行结尾?反斜杠+换行符怎么样?

如果我们不使用换行符来结束源文件,而只是在 main() 之后使用 },那么 clang 编译器(在严格模式下) -std=c17 -pedantic-errors) 臭名昭著地抱怨: 错误:

回答 1 投票 0

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