Ste*_*ing 19 linux flags compilation g++
我正在看一个CFLAGS -
CFLAGS=-g -w -D LINUX -O3 -fpermissive
Run Code Online (Sandbox Code Playgroud)
在Makefile中.-D标志有什么作用?我在手册页上看到了
-D name
Predefine name as a macro, with definition 1.
Run Code Online (Sandbox Code Playgroud)
但我不知道如何解释.我的解释是......它使LINUX成为一个宏,并且在linux环境中只做-03和-fpermissive.是对的吗?如果没有,那又怎样?谢谢你的帮助
Gab*_*ern 25
它等同于#define LINUX 1
在正在编译的文件的源代码中添加语句.它对其他编译标志没有任何影响.这样做的原因是它是一种#ifdef
在代码中启用语句的简单方法.所以你可以有代码说:
#ifdef LINUX
foo;
#endif
Run Code Online (Sandbox Code Playgroud)
只有在启用了可以使用该-D
标志控制的宏时,才会启用它.因此,这是一种在编译时启用/禁用条件编译语句而无需编辑源文件的简单方法.
归档时间: |
|
查看次数: |
16159 次 |
最近记录: |