1. 编译链接的定义
不管我们编写的代码有多么简单,都必须经过「编译 --> 链接」的过程才能生成可执行文件:
编译就是将我们编写的源代码“翻译”成计算机可以识别的二进制格式,它们以目标文件的形式存在;
链接就是一个“打包”的过程,它将所有的目标文件以及系统组件组合成一个可执行文件。
抛开嵌入式而言,C语言的编译器有很多种,不同的平台下有不同的编译器,例如:
Windows 下常用的是微软开发的 Visual C++,它被集成在 Visual Studio 中,一般不单独使用;
Linux 下常用的是 GUN 组织开发的GCC,很多 Linux 发行版都自带 GCC;
Mac 下常用的是 LLVM/Clang,它被集成在 Xcode 中(Xcode 以前集成的是 GCC,后来由于 GCC 的不配合才改为 LLVM/Clang,LLVM/Clang 的性能比 GCC 更加强大)。
意思就是说,在windows平台下进行开发时,我们选用的开发工具大部分是帮我们集成了一些编译器,只需要进行界面配置就可以了。这里我要最好是知道Keil开发环境中,这些编译链接工具是怎么使用的。
keil中编译链接如下,下面会对编译连接器进行解释:
原作者:中蓝闻道