gcc与makefile

gcc –c hello.c会自动产生hello.o文件,但不会产生二进制执行文件。

gcc –O hello.c –c会自动产生hello.o文件,并对其进行优化。

gcc sin.c –lm –L/usr/lib –I/usr/include 在最终连接成二进制文件的时候常用。

 -lm指的是libm.solibm.a函数库文件。

 -L后面接的路径是函数库的搜索目录。

 -I 后面接的是源码内包含文件所在的目录。

gcc –o hello hello.c 将编译结果输出到特定文件名

-o 后面接的是要输出的二进制文件名

Gcc –o hello hello.c –Wall 加入Wall 后,程序编辑严禁,所以会出现警告信息。

===========================================================================

Make的好处:

简化编译时所需要执行的命令;

如在编译完成后,修改了某些源码文件,则make仅会针对被修改的文件进行编译,其他的目标文件不会被修改;

最后可以根据依赖性来更新(update)执行文件;

基本的makefile规则:

目标(target):目标文件1.o 目标文件2.o

按一下<tab>键 gcc -o 预建立的可执行文件 目标文件1.o 目标文件2.o

#表示注释

目标与相关文件之间需要“:”隔开。

实例:

=

gcc -o main ${OBJS} ${LIBS}等价与gcc -o $@ ${OBJS} ${LIBS}

如此以来,makefile中就至少有两个目标,分别是main与除了clean,如果想建立main,输入“make main”,如果想清除.o文件,输入make clean 即可。如果想先清除目标文件,然后再编译main程序,可以这样输入:“make clean main”

==================================================================================

变量与bash shell脚本的语法区别:

1、变量之间内容以“=”隔开,同时两边可以有空格。

2、变量左边不可以有<tab>.

3、“=”两边不能有“:“

4、习惯上,变量最好以大写为主

5、以${}或者$()的方式使用变量

6、该shell变量可以被套用,例如CFLAGS变量

7、在命令行模式也可以使用变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值