c-preprocessor 相关问题

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

&& 在 #if

代码: #if 已定义(FOO) && FOO(foo) #error“FOO 已定义。” #别的 #error“FOO 未定义。” #万一 MSVC 19.38 打印: (1):警告 C4067:

回答 1 投票 0

将 #elif 与 #ifdef 一起使用是否合法?

一个简单的问题,谷歌没有帮助我。在 C++ 中,在 #ifdef 上下文中使用 #elif 子句是否合法?它似乎可以按预期与 c++11 中的所有主要编译器一起编译和工作

回答 4 投票 0

在编译时使用预处理器检查 FreeBSD 版本

我知道我可以使用 __FreeBSD__ 来检测操作系统,但是如何检测操作系统的版本呢? 我的要求是检测copy_file_range()函数是否可用...

回答 1 投票 0

c++中根据同一个头文件的不同编译标志实例化不同的类

我有一个根据编译标志而变化的类。 我想在同一范围内实例化该类的两个版本。 my_class.h #ifndef MY_CLASS_H #定义MY_CLASS_H #ifdef

回答 1 投票 0

如何在//注释中转义反斜杠

我有一条以反斜杠结尾的评论。就像是 ... // 使用 \ .. Clang(++) 警告我,这是多行注释 警告:多行//注释[-Wcomment] // 使用 \ ...

回答 5 投票 0

错误:粘贴“。”并且“red”没有给出有效的预处理标记

我正在实现 X 宏,但我在简单的宏扩展方面遇到问题。该宏(见下文)被用于多个宏使用示例,包括在本文中。 编译器给出...

回答 3 投票 0

定义宏并使用数据类型求绝对值

我正在尝试从我的教科书中的预处理器部分解决这个问题。 该问题要求定义一个宏 ABSOLUTE(num) 来计算某个数字或算术表达式的绝对值...

回答 1 投票 0

有什么方法可以让C预编译器在连接符号时使用数学结果吗?

我有一个 C 宏,它将位连接在一起以便解析为其他宏。我将使用一个名为 MULT 的毫无意义的宏来演示,该宏将两个数字相乘。只要我过去...

回答 1 投票 0

有条件地在构造函数初始化列表宏中吞下逗号

我有以下宏,可以有条件地生成和初始化类的成员: #ifdef LIFETIME_TRACKING #define DEFINE_TRACKER_MEMBER() 可变::LifetimeTracker m_tracker #定义

回答 1 投票 0

对成员函数的人类可读访问

由于当前C++缺乏反射,我发现自己编写了以下JSONDUMP()宏来进行数据调试: 结构向量{ 浮动 x、y; 浮动 len() 常量; JSONDUMP(x, y) }...

回答 1 投票 0

错误:必须为可变参数宏的“...”参数指定至少一个参数

您可以在 C 中定义可变参数宏,如下所示: #define F(x, ...) f(x, __VA_ARGS__) 但是将 F 调用为 F(a) 会导致宏扩展 f(a,) 无法编译。 所以 C23 包括 __VA_OPT__ 来实现...

回答 1 投票 0

我这些#if #endif 语句块是否错误?

我试图弄清楚编译器正在使用哪个CPP标准,当我在Windows上编译时,这是可行的,但是当我在Linux上编译时,没有任何设置,并且vale仍然为0。我是否在做一些事情...

回答 1 投票 0

PREPROCESSOR 创建带有成员数组的结构对象

我有一个数据类型state_t包含成员,如下所示: 类型定义结构 { uint8_t id; uint8_t * allowed_transitions; 布尔状态; } 状态_t; 现在,我想定义一个宏,如 b...

回答 1 投票 0

C 编译器或预处理器如何以不同方式处理带参数的宏?

我正在为 Atmel 微控制器编写代码并使用 ATMEL Studio。 您可以从此处检查工具链和工作室版本。 *\Atmel\Studio .0 oolchain vr8 vr8-gnu-toolchain\lib\gcc vr ...

回答 1 投票 0

在 C++ 中定义短函数名别名最安全的方法是什么?

假设我在文件utility.h中有一个Utility类: 类实用程序{ 民众: 静态双longDescriptiveName(双x){返回x + 42; } }; 然后我发现我使用了这个功能

回答 6 投票 0

在单个 C 宏中定义变量并“返回”表达式

注意:我对使用 GCC 语句表达式不感兴趣! 我正在使用红黑树实现一组数据结构,并使其适用于多种类型,我使用宏。 这是一个定义...

回答 1 投票 0

定义与标准库函数同名的宏

ISO C 对定义与标准库函数同名的宏有什么限制吗? 例如: #定义feof ... 上面的有问题吗? 如果是的话,换个c怎么样...

回答 1 投票 0

检查函数是否用C预处理器声明?

是否可以告诉C预处理器检查是否声明了函数(而不是宏)?我尝试了以下方法,但它似乎不起作用: #包括 int 主函数(无效) { #如果

回答 6 投票 0

如何在C预处理器中扩展参数列表

我有这个宏: #define DO_SOMETHING(N, a,b,c,...) 我的目标是编写这样的宏,扩展为: DO_SOMETHING(1, a,b,c,...) DO_SOMETHING(2, a,b,c,...) DO_SOMETHING(3, a,b,c,...) 这是我的应用程序...

回答 1 投票 0

MSBuild C++ - 命令行 - 我可以传递字符串类型定义吗?

我想从 MSBuild 命令行指定一个字符串参数。 我在 C++ 项目中定义了一个字符串类型宏,如下所示: #define MYSTRING“hoge” MYSTRING 被分配给一个 CString 变量,例如:

回答 1 投票 0

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