gcc的-DLINUX标志是什么?

时间:2013-12-31 17:28:52

标签: gcc

我见过makefile使用-DLINUX标志,但找不到任何文档。 有没有地方可以找到像'gcc'这样的工具的信息,这些工具比最新的更新 正式发布的手册?

4 个答案:

答案 0 :(得分:3)

它只定义了C预处理器的LINUX符号。

可能有一些代码看起来像:

#ifdef LINUX
    //Linux-specific code
#elif defined WINDOWS
    //Windows-specific code
#endif

答案 1 :(得分:2)

这是-D选项controlling the preprocessor。它定义了LINUX宏,然后您可以将其与#ifdef一起使用。

答案 2 :(得分:1)

根据man gcc

   -D name
       Predefine name as a macro, with definition 1.

因此,它允许从编译命令行定义一个常量。

答案 3 :(得分:0)

它定义了一个名为LINUX的预处理器宏。而已。宏本身LINUX不是预定义的,它可能用于跨平台代码库,其中为Linux目标启用了特定的代码段。为此,实际上可以重新使用预定义的linux__linux__(请参阅gcc -dP -E - < /dev/null的输出以获取系统上的所有预定义宏)。

有关gcc的标准文档,请参阅http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/(这显然适用于GCC 4.8.2)。据我所知,如果您的系统上尚未安装(或更新)此文档,那么这是最佳查找位置。