linux内核是一个复杂的开源项目,主要的编写语言是C语言和汇编语言,可能很多人一听汇编语言就炸锅了,其实这里面让你用汇编去写的东西不多,主要是C语言,顺便再打击你一下,这个C语言没有想象中那么简单。这个linux内核主要采用GCC编译器来进行编译,所以这一节我们主要了解和熟悉GCC编译器以及GDB调试器,废话少说,上干货:
GCC的编译器主要分为4个步骤:
预处理——编译——汇编——链接
用图可能看的更明白一些:(偷个懒,借别人的用用)
从上面这个图,我们可以清楚看到,C语言代码需要经历两次编译和一次链接才能生成可执行文件,每次编译都会生成不同格式的文件。
GCC编译器有很好的可扩展性,除了编译X86体系结构,还支持ARM/MIPS等,这些大概知道点就行。
这里主要讲两个概念:
本地编译和交叉编译
先说一下概念吧:
本地编译:就是在当前平台上面编译出来的程序,并且在当前平台运行。
交叉编译:在一个平台编译,在另外一个平台运行,高性能开发板编译,低性能开发板使用,就是这么简单。
补充一个东西,交叉工具链:这个东西不仅仅是GCC还有binutils,glibc等组成的综合开发环境。
这一节就先说这些,挺枯燥的,这个教程主要讲实战项目,前面这些东西都先知道点概念就行。
这一节到此结束了。
若有错误,欢迎指正,技术支持联系方式QQ : 2228398717
欢迎关注公众号:云翔科技教学平台,对应的资料公众号会发布。
有什么不懂的地方也可以联系技术支持微信: