c-preprocessor 相关问题

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

包括来自另一个目录的头文件

我有一个主目录A,有两个子目录B和C.目录B包含头文件structures.c.:ifndef __STRUCTURES_H #define __STRUCTURES_H typedef struct __stud_ent__ {char name [...

回答 4 投票 36

C #include语句在Fortran代码中做了什么? [关闭]

在代码中间有一个C语言语句。我不知道它为什么存在以及编译器如何不返回错误。是C绑定吗?这是否意味着可以使用这个模块......

回答 1 投票 0

使用#define被认为是“不良做法”吗? [重复]

目标最后,我想知道使用#define是否对您的代码有害,以及为什么。代码#include using namespace std; #define favorite Number 20; int main(){int number = ...

回答 1 投票 -2

检查C预处理器列表中是否存在条目

是否可以检查X-macro定义的列表中是否存在条目?鉴于下面的示例代码,我希望#if定义(GEORGE)条件为真。编辑:没有做...

回答 2 投票 1

有人能解释一下这句话“#define HASH_IS_REAL(h_)((h_)> = 2)”

我试过从http://tigcc.ticalc.org/doc/cpp.html获得帮助。但找不到这样的例子。此语法取自Glib / ghash.c。 #define HASH_IS_REAL(h_)((h_)> = 2)

回答 1 投票 -2

在编译时比较类型的大小

我正在研究一些需要64位浮点计算的代码,但是在部署它的某些平台上,没有64位浮点类型。我有一个使用...的代码版本

回答 1 投票 -3

GCC使用-D参数定义类似函数的宏

问题我在尝试从我的C代码中删除__attribute__之前将其发送到解析器中。有没有办法使用-D参数定义类似函数的宏?解决方案使用头文件#define ...

回答 1 投票 10

Visual C ++转储预处理器定义

我试图找出Visual C ++编译器(MSVC)的所有预处理器定义。我可以在GCC上执行gcc -dM -E - </ dev / null来转储所有预处理器定义。我们有类似的东西......

回答 1 投票 7

如何获取一个布尔值来指示是否定义了宏?

我的代码可以使用define宏进行配置。为了获得代码中的值,我这样做:#ifdef CONFIG_X static constexpr bool x = true; #else static constexpr bool x = false; #endif但这是......

回答 2 投票 0

ISO 8601:2004中的C预处理器__TIMESTAMP__

如何在ISO 8601:2004中更换__TIMESTAMP__? __TIMESTAMP__ 2013年7月6日星期六02:50:06 vs __TIMESTAMP_ISO__ 2013-07-06T00:50:06Z

回答 4 投票 9

用于检查枚举类是否可用的简单宏

C ++中有许多功能测试宏,它们提供了一种简单易用的方法来检测C ++标准和实验性功能的存在。但是,我没有设法找到简单的宏...

回答 1 投票 2

当条件为假时,为什么条件包含中的受控组在词法上是有效的?

以下程序编译:// #define WILL_COMPILE #ifdef WILL_COMPILE int i = #endif int main(){return 0;这里有GCC Live演示。但以下将发出警告://#...

回答 3 投票 4

找出可变参数宏中__VA_ARGS__的类型

据说,我有一个可变宏(例如,MY_MACRO(...)),我用以下方式调用它:MY_MACRO(std :: pair) const&p)现在,我宏的主体中的__VA_ARGS__将是std :: pair

回答 1 投票 2

自动检测是否需要在函数参数中添加“const”限定符

我编写了一个拦截许多MPI函数的PMPI分析库。在我的本地机器上,我有一个OpenMPI安装,一些函数参数有一个const限定符,例如:int ...

回答 3 投票 2

用于打印可变参数的宏,可选择无参数

我想实现以下宏:ASSERT(condition,...)这是这样定义的:1。如果只获得一个参数 - 如果条件为false,我们只打印“...

回答 1 投票 1

#define无法被库识别

我正在构建一个库项目和一个测试项目来测试这个库。我希望用户(A.K.A.测试项目)能够为库定义一些东西,但#define不是......

回答 1 投票 -2

预处理器定义重复

我有两个库,不幸的是它们定义了两个相同的预处理器定义(我需要使用):lib1.h #define MYINT 1 lib2.h #define MYINT 2在我的程序中我需要使用两个...

回答 4 投票 6

Doxygen C预处理器宏文档样式

我刚刚注意到Doxygen为C预处理器宏生成文档的方式很有趣。在Doxygen手册中创建块注释的三种样式(///,//!和/ ** * /,...

回答 1 投票 1

为什么在定义宏中使用括号会产生错误?

#define swap(a,b)a = a ^ b; b = a ^ b; a = a ^ b; int main(){swap(a,b)}给出正确的答案。 #define swap(a,b)(a = a ^ b; b = a ^ b; a = a ^ b;)int main(){swap(a,b)}给...

回答 2 投票 3

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