目标代码等于机器语言吗?目标代码文件是不是exe?可执行文件是exe吗?编译器是把文件编译成什么后缀啊?谁给我详细解释下链接器,编译器和目标文件以及可执行文件的区别?
先解释可执行文件:可执行文件的后缀是 .EXE (有时是 .sys【系统文件】, .com【这种我也不知道是什么】),如果你的电脑是winXP系统,你会发现,所有的程序名后都有一个 .EXE (包括你的QQ啊,计算器啊,游戏啊……)为什么叫可执行文件呢?因为这种文件是点开电脑就能执行的文件。可执行文件指的是可以由操作系统进行加载执行的文件。
再说编译器:简单讲,编译器就是将“一种语言(通常为高级语言【C啊,BASIC啊,Java啊(Java还不太一样,你学学就知道了)】……)”翻译为“另一种语言(通常为低级语言【一般翻译成汇编语言】)”的程序。注意这里的编译器仅仅是翻译,而起不到生成可执行文件的作用。
那生成可执行文件(可供使用的程序)的程序叫什么呢???往下看。
链接器:链接器是将一个或多个由编译器或汇编器生成的目标文件外加库链接为一个可执行文件的程序。你可能不明白,没事,我们说完了目标文件画个图你就知道了。
目标文件:就是源代码被编译器翻译过后的文件(你应该知道什么是源代码)。每个系统都有一个代码集,你可以在网上查到windows的。代码集的语言是汇编语言,而编译器要做的事就是把源代码翻译成代码集里的一条条指令,这些指令组合起来就是目标文件。
下面上图:
区分一点:计算机语言是一堆0和一堆1组成的代码,像这样:
1001 0101 0101 0100
1001 0001 1000 0101
1000 0000 0111 1100
………………
而目标文件是汇编语言的代码。
不懂请追问,求采纳~
追问目标文件的存在意义是什么