Linux下程序的编译过程以及makefile的使用

Linux一个简单main.c程序的编译经过的步骤:预编译,编译,汇编,链接

预编译:

1.将#define删除,展开所有的宏定义

2.处理所有的条件预编译指令

3.将头文件包括进程序文件中

4.删除注释

5.添加行号和文件名标识,以便于编译器产生调试用的行号信息

6.保留#pragma编译器指令

编译:

进行一系列的语法分析、词法分析、语义分析及优化

汇编:将汇编代码转化为机器可以执行的指令

链接:将许多文件链接起来才可以得到最后的可执行文件、

四步实现可执行文件:

在linux下通过gcc来实现每一个步骤

 1.预编译:gcc -E main.c  -o  main.i

2.编译:gcc -S main.i  -o    main.s

3.汇编:gcc  -c   main.s   -o main.o

4.链接:gcc -o   main   main.o

两步实现可执行文件:

gcc -c main.c(-o main.o)

gcc -o main main.o

一步实现可执行文件:

gcc -o main  main.c

makefile文件的使用:

管理工程时,可以将多个文件进行编译

 vi    makefile写文件

make:得到main的可执行文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值