下面是我的 C 代码:
#包括 主要的() { #ifdef 你好 printf(“你好”); #别的 printf(“否则”); #万一 }
我的 Makefile 是:
all:
gcc uss_main.c -o out
在这里,我尝试hello
通过执行二进制文件进行打印。我只想在执行 make 时out
定义宏。我尝试过使用,但它只打印 else 部分,我对 make 还很陌生。请帮助我增强我的 Makefile。提前致谢。 HELLO
make HELLO=11
答案1
您可以使用 GCC 编译器标志定义宏,如下所示:
gcc -DHELLO=1 uss_main.c -o out
如果要将其传递给 make,则需要修改 Makefile。如下所示:
USE_HELLO = $(if $(HELLO),-DHELLO=$(HELLO),)
all:
gcc $(USE_HELLO) uss_main.c -o out