c-preprocessor

c-preprocessor

文章 0 浏览 3

NSLog 中的预处理器错误

在 BlaBlaBla_prefix.pch 中,我定义了以下内容: #import "SMDeviceManager.h" #define DeviceSpecificResourceName(name) [SMDeviceManager deviceS…

朮生 2024-09-17 20:51:35 3 0

可能基于预处理器生成的“事物”#if 或#ifdef

我正在尝试进行一些仅 C 预处理器的模板工作,以便对某些代码进行类型专门化。我试图将其简化一点,所以这个例子看起来微不足道且毫无意义,但真正的…

疏忽 2024-09-17 17:59:47 1 0

涉及变量的 C 宏标记串联 - 可能吗?

我正在尝试定义一个宏来生成包含变量的令牌名称。 基本上,我正在尝试的是: #define GLUER(x,y,z) x##y##z #define PxDIR(x) GLUER(P,x,DIR) int mai…

汹涌人海 2024-09-17 16:46:11 10 0

解释一下C代码片段:预处理器+打印=?

此代码片段的输出是 %s is a string is a string。请解释一下。 #include &ltstdio.h&gt #define scanf "%s is a string" int main() { printf(scanf,…

鸵鸟症 2024-09-17 12:37:27 4 0

为什么使用 #if 0 来注释掉块?

逆向工程代码,我对这种风格感到震惊,但我想确保没有充分的理由做这些事情...... 是我一个人还是这是一种可怕的编码风格 if ( pwbuf ) sprintf(usern…

伤痕我心 2024-09-16 23:18:58 6 0

仅评估宏参数一次

在下面的代码中,无论作为 retval 传递的内容,都会根据该令牌的每次使用进行评估。 #define _CPFS_RETURN(commit, retval) do { \ util_cpfs_exit(co…

流星番茄 2024-09-16 18:40:11 8 0

具有零参数和逗号的可变参数宏

考虑这个宏: #define MAKE_TEMPLATE(...) template &lttypename T, __VA_ARGS__ &gt 当与零参数一起使用时,它会产生错误的代码,因为编译器期望逗号…

一笔一画续写前缘 2024-09-16 01:23:43 5 0

自定义 gcc 预处理器

您能给我一个编写自定义 gcc 预处理器的示例吗? 我的目标是用适当的 CRC32 计算值替换 SID("foo") 类似的宏。对于任何其他宏,我想使用标准 cpp 预处…

长途伴 2024-09-15 22:02:25 2 0

“#define FOO(template)”是什么意思?做?

我发现了一些奇怪的 C++ 预处理器子句,例如: #define COMPILER_FLOAT_ENTRIES_DO(template) 将 #define COMPILER_FLOAT_ENTRIES_DO(template) \ tem…

予囚 2024-09-15 20:11:28 3 0

定义预处理器检查

我可以检查预定义值,例如: #ifdef SOME_VAR // Do something #elif // Do something 2 #endif 如果我必须检查 2 个值而不是 1 个值。是否有任何运算…

遮了一弯 2024-09-15 19:26:36 5 0

“#define STR(a) #a”是什么意思?做?

我正在阅读phoneME的源代码。它是一个 FOSS JavaME 实现。它是用 C++ 编写的,我偶然发现了这一点: // Makes a string of the argument (which is no…

ゞ花落谁相伴 2024-09-15 12:04:53 3 0

inline 和#define 在实践中有何区别?

正如标题所说; inline 关键字和 #define 预处理器指令在实践中有何区别?…

秋叶绚丽 2024-09-15 08:56:55 6 0

取消定义类似函数的宏

在 C/C++ 中有两种类型的宏: #define ABC /* usual */ und #define FUNC(a) /*function-like*/ 但是我如何取消它们的定义呢? 更新:那么取消定义“…

听不够的曲调 2024-09-14 21:24:43 3 0

可以用宏抽象这个逻辑吗?

我有数千个函数包装器,它们内部实际上执行类似的逻辑,例如: // a, b, ... are variable length parameters of different type void API_Wrapper(hH…

耀眼的星火 2024-09-14 20:36:16 6 0

可以在 VS2008 中的预处理器指令块(例如 #ifndef ... #endif)中启用智能感知吗?

在 C++ 库中工作时,我注意到在“#ifndef CLIENT_DLL ... #endif”等指令块内我没有被授予任何智能感知。这显然是由于“CLIENT_DLL”已被定义的事实。…

昇り龍 2024-09-14 18:42:01 4 0
更多

推荐作者

留蓝

文章 0 评论 0

18790681156

文章 0 评论 0

zach7772

文章 0 评论 0

Wini

文章 0 评论 0

ayeshaaroy

文章 0 评论 0

初雪

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文