c-preprocessor 相关问题

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

是否有相当于 awk sprintf 的工具用于 C 编译器 #define 指令

对于上下文,我希望更加“包容”,而不仅仅是仅限于逐项列出该类型的所有实例 #define 西班牙语 'es_MX:es' #define FRENCH 'fr_CA:fr' #define ENGLISH 'en_CA:en' 哇...

回答 1 投票 0

C 宏对可变数量的参数进行按位或运算(没有 P99 的轻量级解决方案)

我需要一个宏,将其(可变数量的)参数按位或组合在一起: int main() { printf("%d ", BITWISE_OR_MULTIPLE_ARGS(1, 2, 4)); printf("%d ”,

回答 1 投票 0

如何将一个宏扩展为另一个宏的参数名称

例如: #定义 Y (b * 2) #定义X(b) Y int main() { printf("%d", X(4)); // 想要打印8,但是不行 } C 宏可以实现类似的功能吗?

回答 1 投票 0

将初始化列表传递给宏

为什么下面程序中注释掉的行无法编译? #包括 #包括 使用命名空间 std; #定义F1(a) 1 int F2(向量) { 返回 2; ...

回答 3 投票 0

标准库多次包含在多个文件中?

在K&R书(p59)(编辑:第二版,涵盖ANSI C)中,建议将较大的项目拆分为多个文件更容易。在每个文件中,都包含几个库...

回答 2 投票 0

C 宏预处理器在字符串中包含数字

我想将控制代码 x 插入字符串中,但使用十进制数字而不是十六进制 (\ux) 或八进制 (x)。我很高兴有一个宏,比如 CC,这样我就可以将字符串形成为: // 德...

回答 1 投票 0

c++ 预处理器中的 #define 变量对于程序中的所有文件来说是全局的吗?

我想知道我们是否有一个带有 #define 的预处理器指令定义,这对于 c++ 程序中的所有 .cpp 文件来说是全局的(也适用于 c)。例如,如果我们有两个这样的代码

回答 1 投票 0

#if 和 #elif 在 Cpp 中无法按预期工作

我正在尝试制定某种简单的方法来定义我使用的mcu,并且通过定义mcu,应该包含不同的头文件。我尝试使用 #if 和 #elif 指令来做到这一点: #包括“

回答 1 投票 0

预处理器变量的比较

这段代码无法编译的原因是什么? #define THREADMODEL ASC #if ThreadMODEL==NOASC // 该块应该被忽略并且代码应该编译 #错误 #万一 int main() { }

回答 1 投票 0

如何使用宏在c中使用标记粘贴连接两个标记来进行字符串化?

想要连接两个标记并仅使用宏以及标记粘贴和字符串化运算符将结果转换为字符串。 #包括 #定义 concat_(s1, s2) s1##s2 #定义康卡...

回答 1 投票 0

抑制 C 宏变量替换

我有这段代码(实际上是垃圾收集 Forth 系统解释器的一部分): #定义原语(名称)\ 做 \ { \ VocabEntry* 条目 = (VocabEntry*)gc_alloc(sizeof(

回答 3 投票 0

当我尝试在函数中应用#define 时出了问题

我尝试在条件语句中应用#define,但是,似乎出了问题。 // 模式默认为forward #定义FOR if (模式==“前进”) { ...

回答 1 投票 0

#define X Defined(Y) 是有效的 C/C++ 宏定义吗?

我在某处读到过 #define X 定义(Y) 无效,但似乎有效。 这是一个例子: #define WIN_PLAT 已定义(_WIN32) #如果WIN_PLAT #undef WIN_PLAT # 定义 WIN_PLAT 1 #别的 #...

回答 1 投票 0

在 .c 文件中包含守卫的目的是什么?

我通常在 C 源文件的开头看到这样的代码 #ifndef _INCLUDE_GUARDS_C #定义_INCLUDE_GUARDS_C int main() { } int 函数 1() { } #万一 int 函数2() { } 我...

回答 2 投票 0

包含防护的推荐命名约定是什么?

包含守卫通常如何命名?我经常看到这样的情况: #ifndef FOO_H #定义FOO_H // ... #万一 但是,我认为这不是很直观。没有看到文件名,它是不同的...

回答 9 投票 0

当定义将某些内容设置为整数时是否需要括号?

在 C 语言中,#define 宏应该使用括号。参见例如C 宏和括号中参数的使用。 然而,在嵌入式代码中,我经常看到它甚至与整数一起使用......

回答 1 投票 0

指向#define的指针

我只是想知道是否可以有一个引用#define常量的指针。如果是的话我该怎么做?

回答 5 投票 0

C++98 的 stdint (gcc/clang)

为什么 GCC/clang 在编译 C++98 时抱怨包含 cstdint 而不是 stdint.h? 使用 -std=c++98 -x c++ -Wall -Wextra -pedantic 输出编译 #include : 这个

回答 1 投票 0

重置 C/C++ 预处理器 #line 物理文件/行

我有一个代码生成器,它将获取一些用户编写的代码并将其块嵌入到更大的生成文件中。我希望底层编译器在存在缺陷时提供良好的诊断...

回答 6 投票 0

如何转义包含指令中的字符?

假设我有一个名为 a>b.h 或 a"b.h 的头文件,如何转义 include 指令中的 > 或 " 字符? // 这不起作用 #include b.h>

回答 2 投票 0

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