什么是源文件,目标文件,可执行文件

 1。源文件 
源文件就是存放程序代码的文件。通常我们编辑代码的文件就是源文件。 
源代码是相对目标代码和可执行代码而言的。 
源代码就是用汇编语言和高级语言写出来的地代码。 
在网页上右键鼠标,选择查看源文件.出来一个记事本,里面的内容就是此网页的源代码. 

2。目标文件 
目标代码是指源代码经过编译程序产生的能被cpu直接识别二进制代码。 
目标文件由编译器生成.具体的生成方法在不同的开发环境上是不同的. 
gcc的例子: 
gcc -o target_file test.c 
编译test.c生成可执行文件target_file 
gcc -c test.c 
编译test.c ,生成目标文件test.o,但不进行link.
 

3。可执行文件 
可执行代码就是将目标代码连接后形成的可执行文件,当然也是二进制的。 
连接程序系统库文件连接就生成可执行文件。 
例如:*.obj是程序编译之后生成的目标文件,连接程序再将这个文件与系统库文件连接就生成可执行文件
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 源文件可执行文件经历以下步骤: 1. 预处理:对源代码进行宏替换、头文件展开等操作,生成一个被称为预处理文件的中间文件。 2. 编译:将预处理文件转换为汇编代码,即将高级语言的代码转换为汇编语言的代码。 3. 汇编:将汇编代码转换为机器码,生成一个目标文件。 4. 链接:将目标文件与库文件进行链接,生成可执行文件。链接的过程包括符号解析、重定位等步骤,确保所有的符号引用都能正确地链接到符号定义。 使用现代编译器时,以上步骤通常会自动完成。 ### 回答2: 源文件可执行文件经历以下几个步骤: 1. 预处理(Preprocessing):在这个阶段,预处理器将对源文件进行预处理,处理包括注释的删除、宏的展开等。预处理的结果是一个经过处理的源文件,通常以.i或者.ii作为文件扩展名。 2. 编译(Compilation):编译器将预处理后的源文件转换成汇编语言代码(Assembly code),此时生成的文件通常以.s作为文件扩展名。汇编语言是一种低级的语言,它与机器指令一一对应。 3. 汇编(Assembly):在汇编阶段,汇编器将汇编语言代码转换成机器代码(Machine code),即二进制指令。生成的文件通常以.o作为文件扩展名。 4. 链接(Linking):链接器将编译和汇编得到的目标文件与其他的目标文件或者库文件进行链接,生成最终的可执行文件。链接器的主要作用包括解析全局变量和函数的引用、解析函数调用的地址、将目标文件和库文件中的定义合并等。生成的可执行文件文件扩展名根据操作系统的不同可能有所变化,常见的有.exe(Windows)和.out(Linux)等。 总之,源文件可执行文件的转换过程包括预处理、编译、汇编和链接四个主要步骤。每个步骤都有自己独特的功能,并且需要不同的工具和处理。通过这个过程,我们可以将高级语言编写的源代码转换成计算机可以直接执行的机器代码。 ### 回答3: 源文件可执行文件经历以下几个步骤: 1. 预处理:在这个步骤中,源文件会经过预处理器将其中的预处理指令(如#include、#define等)进行替换或扩展。预处理器还可以进行条件编译和宏展开等操作,最终生成一个被修改过的源文件。 2. 编译:编译阶段是将预处理后的源文件转换为汇编语言的过程。编译器将源文件中的每个函数和变量编译成对应的汇编代码,并生成一个汇编语言文件。 3. 汇编:在这个步骤中,汇编器将汇编代码转换为机器语言指令。汇编器会将汇编语言文件中的每一条指令翻译为机器指令,并生成一个目标文件。 4. 链接:链接阶段将目标文件与其他必要的库文件进行合并,生成可执行文件。链接器会将目标文件中的函数和变量与库文件中的函数和变量进行匹配,并生成最终的可执行文件。 最终的可执行文件就是经过上述步骤处理完成的程序。当我们运行这个可执行文件时,计算机会按照其中的机器指令来执行程序,实现相应的功能。整个过程可以通过命令行编译器(如gcc)或集成开发环境(IDE)中的编译器工具链来完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值