Jel*_*Cat 4 c++ macros c-preprocessor
我正在使用 g++ 编译器,并且我希望注释掉或不注释我的 c++ 代码的某些行,具体取决于我的配置。
我意识到我可以这样做:
#ifdef DEBUG
cout << "foo" << endl;
#endif
Run Code Online (Sandbox Code Playgroud)
但我宁愿这一切都在一行上:
#define DEBUG //
DEBUG cout << "foo" << endl;
Run Code Online (Sandbox Code Playgroud)
...DEBUG作为 的宏//。但写作#define DEBUG //却一无所获。谁能告诉我该怎么办?
这是一种方法:
#ifdef DEBUG
#define DEBUG_LOG(x) std::cout << x << std::endl;
#else
#define DEBUG_LOG(x)
#endif
DEBUG_LOG("foo")
Run Code Online (Sandbox Code Playgroud)
但我宁愿这一切都在一行上:
#define DEBUG //
人们已经给出了如何实现您想要的目标的好例子,但没有人评论为什么您的方法不起作用。
你的方法永远不会奏效。这是行不通的。没有机制可以定义成为注释序列开始的宏,原因很简单,在定义预处理器符号时注释不存在。他们已经被剥夺了。
| 归档时间: |
|
| 查看次数: |
1669 次 |
| 最近记录: |