Linux上_DEBUG的替代品

时间:2015-09-22 05:49:38

标签: c++ linux

query 3

它在Visual Studio中正常工作,因为#ifdef _DEBUG a = "ram"; #else a = "sam"; #endif 在预处理器中定义,而它在Linux中不起作用,即使我在编译时给出了“-g”选项。对此有什么选择?我想为两个平台提供相同的代码。

1 个答案:

答案 0 :(得分:0)

标准宏为_DEBUG,但它与N具有相反的意义(#ifndef NDEBUG a = "ram"; #else a = "sam"; #endif 用于"不是")。所以你可以像这样编写你的代码:

#ifndef

请注意我是如何使用#ifdef NDEBUG a = "sam"; #else a = "ram"; #endif 来否定条件的。当然你可以把它写成:

_DEBUG

如果您不喜欢这样,您还可以通过以下方式编译来定义Linux上的g++ -g -D_DEBUG ...

   class timed
    {
       int id;
       int minute;
       int time;
     }`