c-preprocessor 相关问题

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

在glibc <= 2.23中,为什么在互斥锁宏中使用'0;`?

对于glibc <= 2.23,看起来malloc的Mutex_lock宏的通用定义使用int作为互斥量。 1表示正在使用,0表示免费。它定义了以下通用宏集:typedef int ...

回答 1 投票 2

是否有可能使用va_arg将宏作为可选参数传递给可变参数函数>

我有以下程序。它将宏作为可变参数传递给可选arg。在该函数定义内,我们能否在不扩展的情况下获取该宏。我已将类型用作'char *'和...

回答 1 投票 0

即使已声明,也未声明宏标识符

当我尝试编译C项目时出现此错误。错误#20:标识符“ someGetFunctionMacro”未定义这是在我在...中使用someGetFunctionMacroB()的行上出现的。

回答 1 投票 0

连续数字到#define的编译时分配

我有一系列#define,我希望在编译时分配连续的数字,以便以后可以参考它们并知道它们的顺序。目前,我正在为每个#define依次分配一个数字,但是...

回答 1 投票 1

C-使用宏使用不同结构类型参数的方法重载

我正在尝试在C中实现方法重载,最好使用宏,以便标头/库可以处理定义和声明,而不是将其放在用户身上。现在,我已经阅读过...

回答 1 投票 1

字符串化线

我想将行号作为字符串。如果我使用gcc -E -cpp test.f90编译#define STR(x)#x #define AT __FILE__“:” STR(__ LINE__)AT。我得到:#1“ test.f90”#1“ ”#1“ ...

回答 1 投票 0

通过预处理程序宏生成常量

我想创建一个宏,以吐出一个现有的常量。有多个常数,它们都遵循PREFIX_COMPONENT_ERROR的形式。示例代码:#include 枚举{...

回答 1 投票 0

如何使用带有可变数量参数的令牌粘贴运算符?

我想到了#define concatenate(a,b,c)a ## b ## c的通用版本,我这样尝试:#include #define concatenate(arg1,...)arg1 ## __VA_ARGS__ int main(){...

回答 1 投票 1

由cpp重新排序的编译指令

我在处理pragma和宏时在cpp中观察到一种奇怪的行为:它将这些指令从它们的实际行移动到宏扩展的开始。示例:#define K(arg ... ...

回答 1 投票 0

使用#define和#进行字符串化以将另一个宏常量转换为字符串

关于此问题,Quote宏用于定义字符串,我想打印一个宏常量的值,例如以下代码:#include #define X 4 #define ...

回答 1 投票 2

为什么这个宏不能扩展?

这是assets.cpp.i的预处理程序输出:#define CLASSNAME GAMEOBJECT #define CLASSNAME_NORMAL GameObject #define GAMEOBJECT_EXPANSION(FUNC)FUNC(std :: vector

回答 1 投票 0

为C ++函数编写函数的gcc属性的替代方法?

是否有其他方法可以用C ++编写?我很好奇是否有一种无需使用预处理程序宏就能保持可读性的方法。这是C ++2014。#define FUNC_ATTRIBUTE __inline__ ...

回答 1 投票 0

尽管if子句为假,为什么会引发错误?

为什么在此代码中引发错误?对象属性具有以下值(通过方法addGroup()输出):####### ADDGROUP ###### ...

回答 2 投票 0

为所有未初始化的变量设置默认值

我有一个遗留代码,其中有大量的未初始化警告C4100::未引用的形式参数或可能未初始化的警告C4701:可能未初始化的本地...

回答 1 投票 -1

C99内联,为什么我们不能继续使用它?

[我刚刚了解到内联使我的代码在使用函数时更快,但是我想知道为什么我们不内联每个函数,以通常的方式编写函数的意义是什么...

回答 2 投票 0

make依赖项:使用gcc跳过供应商和程序包头吗?

我正在开始一个新项目,并考虑使用gcc 6.3.1 -MM将依赖项生成到名为Make.Dep的文件中,该文件将包含在Makefile中。 -M选项输出所有标头,包括...

回答 1 投票 0

为什么C ++模板没有令牌替换(如宏)?

因此,我敢肯定,在某一点或另一点,我们都听到过这样的论点,即宏是有害的,您应该改用模板。不幸的是,我一直在概念上遇到问题集...

回答 1 投票 -1

If-指令宏比较

为什么在下面的代码中满足#if条件:#include #define VALUE foo int main(){#if VALUE == bar std :: cout <

回答 2 投票 1

如何在编译时为我的结构动态创建一个枚举

我在struct foo {char * name;下有这个结构。 int(* validate)(u8_t * data,size_t size); u8_t值; u8_t已更改; foo_id id; }; typedef struct foo foo_t;我希望创建...

回答 1 投票 1

C,找到一个定义的中间值

给出以下定义:#define foo bar #define bar 2 #define reg_bar 4我试图创建一个给定define foo的宏,找到define reg_bar,4的值。 。

回答 1 投票 0

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