嵌入式编译器

在Linux中最流行的编译系统是GCC,其功能非常强大。
一般我们在Linux平台上想写一段代码并实现它通常分为这几步骤;
(1) vim 文件名
(2) 切换到插入模式(按a或i)
(3) 写代码
(4) 按Esc切换到命令模式
(5) 按shift+zz退出
(6) 编译 gcc 文件名 -o 生成文件的名字
(7) 运行 ./ 文件名
在这其中编译又分为四部;
1.预处理:处理所有以#键开头的代码。命令:gcc -E 文件名.c -o 文件名.i
2.编 译:(1)语法检查 (2)把c代码变成汇编代码。命令:gcc -S 文件名.i -o 文件名.s
3汇 编:把汇编代码变成二进制代码。命令:gcc -c(小写) 文件名.s -o 文件名 .o
4.链接:链接需要用到代码(库或其他文件) 命令:gcc 文件名.o -o 文件名
这便是编译的过程,通过这些我们不难发现,如果在一大型的工程中有很多文件需要编译,那么按这样的编译方法既费时又费力。make和Makefile就可以解决解决这些问题。
一个make和Makefile文件包含这五个方面:具体规则,隐藏规则,定义变量,指令,注释。
Makefile内容的核心是一系列的规则,这些规则告诉make程序要做这件事情所依赖的条件。
规则的基本格式是:
Target:dependency
(Tab字符)command
Target(目标):通常是要产生的文件名称
dependency(依赖):指用来输入从而产生目标的文件
command(命令):是make执行的动作,一个规则可以有多个命令每个命令占一行,命令行的第一个字符是Tab
隐含规则能够告诉make使用传统的标准方法完成任务。
Makefile的例子
Target=main
Object=f1.0 f2.0 main.0
$(Tatget) : $(Object)
gcc $(Object) -o $(Target)
#隐藏规则
#f1.0 : f1.c
#gcc -c f1.c -o f1.o
#f2.0 :f2.c
#Tab gcc -c f2.c -o f2.o
#main .0:main.c
# gcc -c main.c -o main.o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值