c-preprocessor 相关问题

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

错误:粘贴“。”并且“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

C 预处理器 - 将变量传递给子宏

我目前正在用 c 编写一个简单的游标库,用于解析修复结构化字符串。 例如,它允许将以下字符串解析为先前定义的变量,如下所示(github)...

回答 1 投票 0

C 预处理器 - 将 throw 变量传递给子宏

我目前正在用 c 编写一个简单的游标库,用于解析修复结构化字符串。 例如,它允许将以下字符串解析为先前定义的变量,如下所示(github)...

回答 1 投票 0

如何将预处理器符号与自定义构建配置结合使用?

我想创建一个启用发布模式但带有一些日志记录的构建配置。我曾设想它可以与预处理器符号一起使用。例如,如果你说 #if DEBUG 那么它只会

回答 2 投票 0

一种计算 __VA_ARGS__ 参数数量(包括 0)的方法,无需编译器特定的构造

有很多问题讨论如何计算 __VA_ARGS__ 和零参数问题(例如 [1] 和 [2])。然而,这些问题的答案通常是不可移植的,因为......

回答 2 投票 0

构成成员指针类型的`::`和`*`可以来自不同的宏扩展,还是必须以单个标记的形式出现?

考虑以下代码: #定义FOO A:: 结构A { 整数x; }; int FOO *ptr = &A::x; Clang(18.1.0,无标志)发出警告: :8:5:警告:“::”和“*”标记形成点...

回答 1 投票 0

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