【Linux】编译的四个步骤
编译做了什么?
·
目录
平常的使用:
安装软件
ubuntu apt install xxx
红帽子 yum install xxx
编写:vi/vim vscode
main.c ->main.exe/main
c语言的源程序后缀必须是.c,硬盘上存放,计算机不能直接执行
编译
转换为二进制可执行程序.exe
执行 路径/文件名
如果文件在bin下就不用加路径
Linux和windows可执行程序的格式不一样,所以不能移植程序
Linux ELF格式
WIN PE格式
/bin存放命令/可执行程序
计算机五大部件
运算器、控制器、存储器(内存)、输入设备i、输出设备o
三种总线:数据/地址/控制
电脑只认识01
汇编注记符无法解决跨平台的问题
高级语言可以
程序编译就是将高级语言转换成汇编注记符然后转换成01
编译四步
程序编译分为四步:1.预编译(Prepressing)2.编译(Compilation)3.汇编(Assembly)4.链接(Lunking)
1.预编译(处理#)
.cpp->.i
gcc -E main.c -o hello.i
处理#和//
2.编译(查错,代码到汇编)
.i->.s
gcc -S main.i -o main.s
语法检查:词法分析、语法分析、优化后生产相应的汇编代码文件
3.汇编(汇编到二进制指令)
.s->.o
gcc -c main.s -o mian.o
将汇编代码转变成机器可以执行的命令
4.链接
将一大堆本身就有的文件(printf这些别人的代码)链接起来
更多推荐
已为社区贡献1条内容
所有评论(0)