程序的编译链接运行原理

本文详细介绍了程序从预处理、编译、汇编、链接到运行的完整过程,包括Linux下的相关命令。预处理阶段处理宏定义、头文件包含等;编译阶段将高级语言转化为汇编代码;汇编阶段生成二进制目标文件;链接阶段解决符号引用和地址定位;运行阶段涉及虚拟地址空间的分配。
摘要由CSDN通过智能技术生成

程序编译运行过程可以分解为4个步骤:预处理,编译,汇编,链接。

Linux下的相关命令:

预处理:  gcc  -E  main.c   -o   main.i

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

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

链接:     gcc   -o  main    main.o

一步完成gcc -o main main.c

objdump命令:查看文件中包含的段。

(一)预编译

  预编译又称为预处理,是做些代码文本的替换工作,是整个编译过程做先做的工作。

【处理规则】

  1. 将所有的“#def
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值