c-preprocessor 相关问题

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

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

如何注释掉嵌套在其中的注释的代码部分?

我正在寻找在 C++ 中注释掉多行(而不是方法)的最佳方法,其中有注释。我确实查看了一些关于 SO 的帖子,但无法获得有关使用某些内容的完整详细信息...

回答 4 投票 0

将字符串从 __DATE__ 转换为 time_t

我正在尝试将从 __DATE__ 宏生成的字符串转换为 time_t。我不需要一个成熟的日期/时间解析器,只处理 __DATE__ 宏格式的东西将是 g...

回答 8 投票 0

预处理器指令#if和#ifdef之间的区别

以下两个预处理器控制语句之间有什么区别(如果有)? #如果 和 #ifdef

回答 2 投票 0

如何将“else if”与预处理器 #ifdef 一起使用?

在我的项目中,程序可以做两件事中的一件事,但不能两者兼而有之,所以我决定对一个类所能做的最好的事情就是根据 #define 预处理器变量来定义它。下一个代码可以...

回答 2 投票 0

#ifdef 和#ifndef 的作用

考虑: #定义一个0 #ifdef 一 printf("已定义一个"); #ifndef 一 printf("一个未定义"); 其中#ifdef和#ifndef的作用是什么,输出是什么?

回答 4 投票 0

#if 预处理器指令可以嵌套在 C++ 中吗?

我有一个关于 C++ 中预处理器指令的问题: 例如: #ifndef 问题 // 这里有一些代码 #ifndef 问题 // 这里有一些代码 #万一 #万一 我们能不能这样用,能不能...

回答 3 投票 0

对于定义为 0 的宏,#ifdef 和 #if 之间的细微差别

给出以下 C 文件: 文件宏.c #ifdef 宏 # 错误宏已定义 #别的 # 错误宏未定义 #万一 #如果宏 # 错误 MACRO 不为零 #别的 # 错误宏为零 #万一 什么...

回答 3 投票 0

在 Visual C++ 中根据文件内容设置预处理器定义

我的项目中有一个文件,其中包含项目版本号。我必须将此文件的内容用作我的代码中的预处理器定义。 我需要的是以某种方式通过...

回答 3 投票 0

预处理器 #if 相等指令未按预期工作

这里有人可以帮助我理解为什么我看到以下错误而不是网关错误吗?谢谢。 root@GATEWAY-0x0000001E:~/gateway/experiments# catcompile_define.cpp #def...

回答 1 投票 0

如何在 VC 2005 (C++) 中从命令行定义字符串预处理器?

文档告诉我可以使用 /D 命令行开关来执行此操作,如下所示: CL /DDBUG 测试.C 这将定义一个 DEBUG 符号,并且 CL /DDEBUG=2 测试.C 会给它值2。 ...

回答 5 投票 0

C 宏中的#x 是什么意思?

例如我有一个宏: #define PRINT(int) printf(#int "%d “,整数) 我大概知道结果是什么了 但为什么#int 代表了整个事情呢? 我有点忘记这个细节了。任何人都可以吗

回答 4 投票 0

如何访问具有多个括号的一维数组以提高可读性?

我有一个使用指针管理的 3D 数组的巨大代码。就像是: int *** 选项卡; tab = malloc(m*sizeof(int**)); for(i= 1..n) tab[i] = malloc(n*sizeof(int*)); ... ETC... 然后是 ele...

回答 6 投票 0

在带引号的字符串中展开宏[重复]

我有一个函数,它接受一个 char* 类型的参数,例如 f("string"); 如果字符串参数是在函数调用中即时定义的,那么如何在字符串中扩展宏...

回答 2 投票 0

为指针结构创建一个宏

我需要创建一个宏来从函数参数类型转换(正确的词?)指针结构。这是我的结构: typedef 结构 _AppData { GtkWidget* 顶层; // 主窗口 GtkWidget* 视图; //

回答 2 投票 0

为什么使用预处理器#if语句而不是if() else?

我看到这种情况一直在进行,例如在 Linux 内核中。使用预处理器命令与普通 C++ if else 块相比的目的是什么?有速度优势什么的吗?

回答 4 投票 0

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