c-preprocessor 相关问题

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

检查一个给定的字符串是否在C语言中是#define的。

我试图检查一个给定的字符串是否是#define。EDIT: 我正在读取一个文本文件,其中包含一个标记名称和要复制的文本列表,每行都要检查是否读取了... ...

回答 1 投票 0

为什么一个带有预处理参数的CC++函数只有在头文件中定义的情况下才能正确链接?

我在一个项目中使用CLion(使用CMake),这个项目涉及一个外部库,它根据宏的定义重新定义类型。例如,如果定义了 flag 宏,那么 ...

回答 1 投票 0

C预处理器(MinGW的cpp.exe)不产生任何输出。

我试图在test.c上运行C:\MinGW\bin\cpp.exe -v -o main.txt test.c。#ifdef HELLO HELLO! #else BYE! #else BYE! #endif但只得到下面的输出,没有明显的错误,也没有写出main.txt(也没有......)。

回答 1 投票 0

变量定义应该在头文件中吗?

我最近对C语言和编译过程非常基础的知识已经生疏了。我想弄清楚下面问题的答案,但我无法将编译、链接和预处理连接起来 ...

回答 4 投票 25

在C语言预处理程序中获取变量大小

我有一个问题,我正在写一个头文件,这取决于C标准数据类型的大小,定义不同的结构和联盟。我需要这样的东西。#if sizeof(int) == 4 ... ...

回答 2 投票 0

C语言中的预处理器指令

为什么程序的输出是125而不是5 #define square(x) x*x int main() { int var; var = 125square(5); printf("%d",var); return 0; }```。

回答 1 投票 0

C++如何平衡宏调用后的括号?

#define function(...) [](){ DO_STUFF(__VA_ARGS__) 由于宏中的括号是打开的,所以我留下了一个丑陋的用法,不是少了一个括号就是多了一个括号。有什么办法可以解决这个问题吗?...

回答 1 投票 0

预处理的CC++文件是针对机器的吗?

假设我在一台linux机器上,运行以下命令: cpp main.cpp > main_p.cpp 其中main.cpp是一个c++c文件。我是否可以将main_p.cpp在其他任何机器上编译执行它...

回答 1 投票 0

嵌套定义

这是我的代码的小版本。#include #include struct mystruct { int a; int param1; int param2; }; #define mycase 5, 5 #define mytest_1(test) ...

回答 1 投票 2

我们如何使用嵌套的if else与#define预处理程序

#define len(a) if (a == 8) 1 else if (a == 3) 0) else -1这段代码只是一个例子,我们如何使用嵌套的if else。我不想使用三元运算符作为...

回答 2 投票 0

避免C++中互斥函数调用的预处理程序20

请考虑下面这个小函数。它提供了编译器抽象,用于以编程方式中断调试器: inline constexpr void BreakDebug() { #ifdef __GNUC__ ... ...

回答 1 投票 2

避免C++中互斥函数调用的预处理程序20

请考虑下面这个小函数。它提供了编译器抽象,用于以编程方式中断调试器: inline constexpr void BreakDebug() { #ifdef __GNUC__ ... ...

回答 1 投票 2

在C语言中设置一个标志,就像在汇编语言中一样优雅。

C语言中的flag处理感觉很麻烦,和汇编相比。我正在寻找一种方法,使C代码和汇编一样可读。在汇编中。#define powerOn flagsByte,0 ... bsf powerOn ; 打开... ...

回答 6 投票 5

如何用ifdef检测Intel的编译器(ICC)?

我想在Linux上使用英特尔目前的编译器,我有一个内联宏来检测编译器。我有一个内联宏,应该是用来检测编译器的。它过去可以与过去版本的GCC和ICC一起工作。但现在我得到的是extern inline with ...

回答 1 投票 5

只有在C语言中可用时才包含头文件?

我想把pthread的逻辑添加到我为C语言编写的一个小的profiling库中,但是,我只想在编译时pthread实际上已经被链接的情况下才包含这个逻辑。有没有一个...

回答 1 投票 0

只有在C语言中可用时才包含头文件?

我想在我为C语言编写的一个小的profiling库中添加pthread的逻辑,但是我只想在pthread可用的情况下执行与pthread相关的逻辑。有没有一种程序化的方式来...

回答 1 投票 1

您将如何为AVX2和AVX512编写功能不可知代码?

一种方法是创建函数指针,该函数指针根据选择所需功能集的预处理程序指令有条件地指向不同的函数。 #if defined(...

回答 1 投票 0

在同一命令中分配两个C预处理器marcos

是否可以同时将相同的值分配给两个C预处理器宏?它的行为类似于正常的C代码:a = b = 1;我知道您可以执行以下操作:#define VAR1 1 #define VAR2 ...

回答 3 投票 2

如何在C中使用单个赋值定义多个#define

我发现了一些有关如何#定义多个值C / C ++的相关问题。但是那不是我想要的。相反,我想做相反的事情。我们可以简单地分配如下内容:int ...

回答 1 投票 0

固定“ -Wunused-parameter”警告,取决于预处理器条件

当变量的使用取决于预处理程序指令(#if,#else ...)的条件时,如何解决“ -Wunused-parameter”警告。 void foo(std :: string&color){#ifdef PRINT printf(“ ...

回答 1 投票 0

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