问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何给Make命令来传递参数9

发布网友 发布时间:2023-10-13 14:16

我来回答

1个回答

热心网友 时间:2024-12-04 03:39

但有时候,我们还是需要让make命令带入一些参数给makefile脚本。比如,你在代码里面需要定义一个宏DEBUG来打开调试开关,代码如下:int main(){int i=9;#ifdef DEBUGi=1;#elsei=0;#endifprintf("i=%d\n", i);return 0;}一般来说,这个宏定义可以通过直接修改源代码进行,但这样显然不是很好的办法。另外一个办法是通过makefile修改,比如:CFLAGS=-g -Wall -DDEBUGobject=myprogall:$objectmyprog:a.cgcc ${CFLAGS} a.c -o ${object}如果更进一步,连makefile都不想修改,我们可以通过向make命令传递参数来进行,为此,我们需要适当的修改makefile如下:CFLAGS=CFLAGCFLAGS+=-g -Wall -DDEBUGobject=myprogall:$objectmyprog:a.cgcc ${CFLAGS} a.c -o ${object}此时,如果想打开DEBUG宏,我们可以这样输入make命令:[ychq@ICM3-2 net]$ make CFLAG=-DDEBUGgcc -g -Wall -DDEBUG a.ca.c: In function `main':a.c:9: warning: implicit declaration of function `printf' [ychq@ICM3-2 net]$我们可以发现,DEBUG宏已经被正确的传入。更进一步的,我们可以通过传递不同的参数给make,让make编译不同的模块。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我用耳机玩爱唱久久怎么唱出来的不响? 电脑ktv点歌软件有哪些电脑用什么点歌软件比较好 更换变速箱油后,汽车刹车和起步时底盘常有嘎啦嘎啦的异响是什么原因... 格兰仕空调口碑怎么样 格兰仕空调的优缺点有哪些? 格兰仕空调怎么样?质量好吗? 什么是PNC金融服务集团 挖出蛇是好事还是坏事? 微信换行怎么换到下一行 微信如何将自己的位置定位发绐别人 石灰水会伤树根吗?1 ai 倒圆角如图,怎么做45 电视看电视剧黑屏看别的不黑屏怎么办?1 那个锁屏密码忘了,所以刷机时清除数据要密码怎么办4 PS怎么制作APP圆角图标?2 那个锁屏密码忘了,所以刷机时清除数据要密码怎么办1 求一篇关于告别母校的演讲稿3 演讲稿 告别母校78 告别母校演讲稿6 演讲稿:告别母校 告别母校的演讲稿47 PHP如何实现 不打开一个网页就运行它? 卷的多音字是什么5 PHP正则获取字符串之间3 卷的多音字16 怎么在excel中做进度条,就是完成条2 “卷”的多音字读音是什么?组词有哪些?141 echo "<h2>PHP is fun!</h2>"; 汉中市光明电力和汉源电力的关系如何 Excel 进度条,显示工程进度2 牧羊人之心有哪些渠道服 kconfig和makefile文件配置之后,代码没参与编译... 牧羊人之心台服和谐了吗 盛大游戏的发展历程6 被冻结了怎样解冻 怎么解封271 华硕F450VB有GT740M,有这款本本吗? 告别母校演讲稿35 为各部门配置笔记本电脑的通知 光明电力服务公司是国企吗? 谁能告诉我6万6年的利息有多少?有个我老爸当兄弟一样的朋友欠到现在都... 电视剧黑屏了。还该怎么办了,1 小米mix2s和小米黑鲨手机哪个好1 小米mix 2S与小米黑鲨哪个好1 黑鲨手机好还是小米mix2s好1 买MIX2S好还是黑鲨手机好5 羊肉炒芹菜怎么做好吃550 陕西建工金牛集团股份有限公司怎么样?54 被冻结了怎么解冻?20 怎样成为一个合格的渣女💔💔70