【问题标题】:what '-DLOCAL' flag does in C++ compilation'-DLOCAL' 标志在 C++ 编译中的作用
【发布时间】:2020-08-31 17:12:22
【问题描述】:

我想知道C++编译的-DLOCAL标志是做什么的?
用作:

g++ -std=c++17 -Wshadow -Wall -o "%e" "%f" -g -fsanitize=address -fsanitize=undefined -D_GLIBCXX_DEBUG -DLOCAL

提前致谢。

【问题讨论】:

    标签: c++ compilation g++ local compiler-flags


    【解决方案1】:

    -D 命令行参数定义预处理器宏。 -DLOCAL 定义了宏 LOCAL,值为 1。这个宏在 C++ 语言中没有特殊含义,对于 GCC 编译器也没有特殊含义。

    【讨论】:

      【解决方案2】:

      我发现使用-DLOCAL 标志编译的一个用途允许我们运行类似cerr 的语句,用于测试

      cerr << "some variable for testing";

      如果我们在编译中删除-DLOCAL 标志,cerr 将不会在控制台上显示任何输出。

      即使我们忘记删除所有不会影响程序的测试语句,这也很有帮助。因为我们一般不会使用-DLOCAL 进行编译。
      谢谢

      【讨论】:

      • 这在您的特定代码中可能是正确的,但一般情况下并非如此。大概你在某个地方有一个#ifdef LOCAL,但除了你自己之外没有人有任何办法知道这一点。
      猜你喜欢
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 2013-12-08
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多