预处理器参数并在C中编译#ifndef #ifdef

时间:2016-10-16 17:20:13

标签: c c-preprocessor conditional-compilation ifndef

在编译文件时尝试在我的代码中应用默认值。

我需要在我的代码中将定义的关键字设置为某个值。

因此,当我编译代码并且它没有在编译器的参数中接收任何定义时,它将使用我的默认值。

我不确定如何做到这一点,但我有点想法:

#ifndef MAXWORKLOAD
#define MAXWORKLOAD 10
#endif

所以,如果我把它放在代码中,我在参数中使用这个命令行:

gcc -W -Wall 

它会使用10有默认值吗?

如果我在编译中使用此命令行:

gcc -W -Wall -DMAXWORKLOAD=5

它会使用5作为新设置吗?

我不太清楚阅读有关此文档的文档。

1 个答案:

答案 0 :(得分:4)

不知道怎么回答这个问题,但......

是的,没错。