【发布时间】:2014-06-17 06:27:22
【问题描述】:
我正在对一个多平台 C++ 项目进行细微的更改,该项目包含一个 400 行的 Linux makefile,该文件是其他人多年前创建的。
makefile 中有两行使用 -dndebug(小写)作为 g++ 的命令行参数。
我认为其目的是定义 ndebug 符号,但是当它是小写时,这个参数甚至会做任何事情吗?
我对 g++ 和 make 的了解很少,但是通过下面链接的页面,我认为参数需要大写才能起作用。
http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html
【问题讨论】:
-
gcc 确实有
-d选项,但它是用于调试编译器通过自身。你不需要它。即使它是有意的,-dndebug也是无效的(但例如-da是)。所以我想应该是-DNDEBUG,但是有人搞砸了。 -
致任何编辑此问题的人:我认为将标题中的“dndebug”更改为“DNDEBUG”的编辑是不恰当的,因为问题的全部意义在于询问它是否在较低的案例。