我曾经看到过一些Makefile文件使用了-DLINUX标志,但找不到任何关于它的文档。是否有可以查找比正式发布的手册更更新的工具(例如‘gcc’)信息的地方?
我曾经看到过一些Makefile文件使用了-DLINUX标志,但找不到任何关于它的文档。是否有可以查找比正式发布的手册更更新的工具(例如‘gcc’)信息的地方?
它只是为C预处理器定义了LINUX
符号。
可能有些代码片段看起来像:
#ifdef LINUX
//Linux-specific code
#elif defined WINDOWS
//Windows-specific code
#endif
LINUX
(可以是任何值),并且必须将 WINDOWS
定义为非零值。 - trojanfoeman gcc
的说明: -D name
Predefine name as a macro, with definition 1.
它定义了一个名为LINUX的预处理器宏。就是这样。宏本身,LINUX,并不是预定义的,它可能用于跨平台代码库,其中特定的代码段被启用为Linux目标。为此,实际上可以重新使用预定义的linux
或__linux__
(请参见gcc -dP -E - < /dev/null
的输出以获取系统上的所有预定义宏)。
请参阅http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/以获取有关gcc的标准文档(显然是针对GCC 4.8.2)。据我所知,如果此文档尚未安装(或已过时),那么这是查找最佳位置。
-DDEBUG
或-DNDEBUG
这样的东西。 - user1508519