1)源文件
在开发软件时,我们需要江边写好的代码保存到一个文件中,这样代码就不会丢失,才能被编译器找到,才能最终变成可执行文件。这种用来保存代码的文件就叫做源文件(Source File)。
每种编译语言的源文件都有特定的后缀,以方便被编译器识别,被程序员理解。源文件后缀大都根据编译语言本身的名字来命名。
源文件其实就是纯文本文件,它内部并没有特殊结构,能证明这一结论的典型例子就是:在Window下用记事本程序新建一个文本文档,并命名为demon.text,输入一段C语言代码并保存,然后将该文件强制重命名为demo.c(后缀从.txt变成了.c),发现编译器依然能够正却识别其中的C语言代码,并顺利生成可执行文件。
2)链接(Link)
源代码经过编译(Compile)后就变成了执行文件,其实这种说法有定笼统,甚至从严格意义上将时错误的。源代码要经过编译和链接两个过程才能形成可执行文件。
编译器一次只能编译一个源文件,如果当前程序包含很多个源文件,那么就需要编译多次。编译器每次的结果是产生一个中间文件(可以认为是一种零时文件),而不是最终的可执行文件。中间文件已经非常接近可执行文件了,它们都是二进制格式,内部结构也非常相似。
将当前程序的所有中间文件以及系统库(暂时可以理解为系统的一些组合)组合在一起。才能形成最终的可执行文件,这个组合的过程就叫做链接(Link)。完成链接功能的软件叫做链接器(Linker)