c-preprocessor

c-preprocessor

文章 0 浏览 4

定义一个字符串,其部分来自其他定义(非字符串)

我正在尝试创建一个版本字符串,在使用时将其视为 char* 。 我目前正在使用 #define VERSION_MAJOR @cmakeproject_VERSION_MAJOR@ #define VERSION_MI…

默嘫て 2024-11-28 20:17:46 0 0

不同平台(windows、mac、linux)上的定义是什么可以告诉您的代码它是应用程序的一部分,而不是库的一部分?

所以我想知道我可以包含在不同项目中的代码如何知道它是否包含在应用程序库中? (在 Linux、Mac 和 Windows 上)…

姐不稀罕 2024-11-28 09:09:51 0 0

有没有办法指示 C++编译器跳过当前文件的其余部分?

有时必须有条件地编译某些功能。例如,只有当 WITH_LOGGING 宏为 #defined 时才使用 class Logger: // Logger.cpp #ifdef WITH_LOGGING #include // …

雨落□心尘 2024-11-27 23:56:36 0 0

Visual C++ 中的预处理器工具 __COUNTER__

我需要在编译时在整个代码中生成一系列连续的数字。我以这样的方式尝试了“__COUNTER__”: void test1() { printf("test1(): Counter = %d\n", __COU…

梦回旧景 2024-11-27 18:10:26 1 0

这个宏语句合法吗 C++或者其他什么?如果它是合法的,它是如何运作的

WebKit 有很多这样的预处理器行: #if MACRO1(MACRO2) 例如: #if PLATFORM(MAC) || (PLATFORM(QT) && USE(QTKIT)) #include "MediaPlayerPrivateQTKi…

自在安然 2024-11-27 04:58:40 1 0

stdlib.h:没有这样的文件或目录

有这一行 #include 我正在使用各种 stdlib 函数,如 srand() 等。我的代码顶部 。我在命令行中输入了以下内容: # find / -name stdlib.h find: `/hom…

欢你一世 2024-11-27 03:37:30 1 0

C++ 中的 #ifdef 1 是什么意思?

在 C++ 中,我知道程序员使用 #ifdef 0 来阻止代码运行,但在同一个项目中我看到很多 #ifdef 1。这是否意味着代码始终运行?不幸的是,代码无法编译,…

庆幸我还是我 2024-11-26 23:29:31 0 0

C++宏未正确终止宏调用

在C++中是否有一种机制允许表达非终止宏? 这是一个人为的示例: #define MACRO(x, y) x + y #define MACROC1(x) MACRO(x, #define MACROC2(y) y) //.…

迟月 2024-11-26 21:30:37 0 0

我的宏函数有什么问题吗?

我使用续行符“\”定义了一个多行宏函数,如下所示: #define SHOWMSG( msg ) \ { \ std::ostringstream os; \ os << msg; \ throw CMyException( os.…

我的奇迹 2024-11-26 20:27:30 0 0

C\C++重载宏的预处理器不同参数

我想在我的项目中实现登录。 我有宏,比如 __LOG_TRACE(lg, expr,...) LOG_TRACE_STREAM(lg) << expr; 所以我想实现这个宏的接口 - 另一个宏,但我想…

深居我梦 2024-11-26 14:06:29 1 0

使用 #define 重新定义 enum 枚举器

我在 C 头文件中发现了一些我不知道其用途的东西。例如,在文件 bits/socket.h 中,有一个枚举类型 enum __socket_type,但在每个枚举器后面都有一个…

夜司空 2024-11-26 09:57:44 0 0

ANSI C 表达式的条件编译和编译时求值

我想做以下事情,但编译器不喜欢它: unsigned short foo = 1; // do something with foo #if sizeof(short) * CHAR_BIT > 16 foo &= 0xffff; #endif …

那支青花 2024-11-26 05:10:41 3 0

C 预处理器流程控制取决于函数参数

我想做的是这样的 #define TRIPLE_LOOP(code)\ //if there is something in code \ for(...) for(...) for(...) { code }\ //if code is empty then\ …

白昼 2024-11-25 13:59:39 0 0

使用 C 预处理器生成 @property 实现(在预处理器中将字符大写)

我可能试图滥用预处理器。我想看看我的想法是否可行。 我的班级有@properties,它们都具有相同的主体。我想用预处理器宏生成这些主体。例如: - (floa…

苯莒 2024-11-25 12:54:50 1 0

在全局函数中获取对象地址或 NULL 的统一方法

我正在为 C++ 构建一个基于树的调试/日志系统。 它的“用户界面”是一个宏,它将用户定义的消息和调用站点信息(文件、行、对象地址)传递给特殊函数…

缺⑴份安定 2024-11-25 09:33:42 3 0
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

更多

友情链接

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