码迷,mamicode.com
首页 > 其他好文 > 详细

c编程相关

时间:2015-01-26 11:50:04      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

1.常用编译:gcc -o hello hello.c
-o表示输出可执行文件名
-c表示只要求编译器输出目标代码,而不是可执行文件
-g表示在编译的时候要求编译器提供以后对程序进行调试的信息

2.Makefile
格式:
target:components
TAB rule(TAB就是一个tab键,即需要空一个tab,否则出现错误)

简化:(三个常用变量:$@,$^,$<)
$@(目标文件),$^(所有的依赖文件),$<(第一个依赖文件)


如此可以将以下Makefile
main:main.o mytool1.o mytool2.o
    gcc -o main main.o mytool1.o mytool2.o
main.o:main.c mytool1.h mytool2.h
    gcc -c main.c
mytool1.o:mytool1.c mytool1.h
    gcc -c mytool1.c
mytool2.o:mytool2.c mytool2.h
    gcc -c mytool2.c

改为如下形式:
main:main.o mytool1.o mytool2.o
    gcc -o $@ $^(#####注意这这中间有一个空格)
main.o:main.c mytool1.h mytool2.h
    gcc -c $<
mytool1.o:mytool1.c mytool1.h
    gcc -c $<
mytool2.o:mytool2.c mytool2.h
    gcc -c $<

还可以简化为:
main:main.o mytool1.o mytool2.o
gcc -o $@ $^
..c.o:
gcc -c $<
这个规则表示所有的.o文件都是依赖于相应的.c文件安的。

c编程相关

标签:

原文地址:http://www.cnblogs.com/weekman/p/4249727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!