linux学习步骤:

从程序语言到可执行的二进制文件,以C语言为例,在linux下需要执行条件:

首先:需要C语言的编译工具集,cc、ld、as;分别为编译器、连接器、汇编器;根据编译出来的二进制文件所运行的硬件环境(主要是CPU类型),需要将工具集配置为适合CPU类型的工具集,比如cc-linux-arm、ld-linux-arm、as-linux-arm,           一般编译工具默认的是X86类型的CPU。

其次:就语言本身来说我们在使用的时候还需要各种库文件,如c语言的libc库,因此不同平台提供不同库文件,当然跟平台无关的库文件除外。

linux学习步骤(仅仅是个人想法):

1、shell脚本编程学习,教材<Advanced Bash-Scripting Guide>。

2、GNU_Make手册。

make有其运行时候的环境变量,也就make运行时候的一些系统变量设置,通过这些环境变量的设置可以让make更好的工作,比如有不同的gcc版本,那么可以通过环境变量的设置,让make运行在不同的gcc版本下编译出不同的目标文件,比如x86的linux内核,ARM的linux内核。

make 的执行过程如下: 1. 依次读取变量“ MAKEFILES”定义的 makefile 文件列表 2. 读取工作目录下的 makefile 文件(根据命名的查找顺序“ GNUmakefile”, “ makefile”,“ Makefile”,首先找到那个就读取那个) 3. 依次读取工作目录 makefile 文件中使用指示符“ include”包含的文件 4. 查找重建所有已读取的 makefile 文件的规则(如果存在一个目标是当前读取的 某一个 makefile 文件,则执行此规则重建此 makefile 文件,完成以后从第一步 开始重新执行) 5. 初始化变量值并展开那些需要立即展开的变量和函数并根据预设条件确定执行 分支 6. 根据“终极目标”以及其他目标的依赖关系建立依赖关系链表 7. 执行除“终极目标”以外的所有的目标的规则(规则中如果依赖文件中任一个 文件的时间戳比目标文件新,则使用规则所定义的命令重建目标文件) 8. 执行“终极目标”所在的规则

说明:

执行一个规则的过程是这样的:对于一个存在的规则(明确规则和隐含规则)首先, make程序将比较目标文件和所有的依赖文件的时间戳。如果目标的时间戳比所有依赖文件的时间戳更新(依赖文件在上一次执行make之后没有被修改),那么什么也不做。否则(依赖文件中的某一个或者全部在上一次执行make后已经被修改过),规则所定义的重建目标的命令将会被执行。这就是make工作的基础,也是其执行规制所定义命令的依据。

3、GNU_LD

4、搭建一个编译linux1.0的编译环境

5、编译出linux1.0内核并能在虚拟机中运行,当然了如果能有图像界面,网络呀这些就最好了。

6、linux1.0代码走读

7、买块主流的ARM开发板,学习ARM+linux的各种应用。

当然了,除了1~3步骤,其他步骤可以随机了。

猜你喜欢

转载自blog.csdn.net/xiebingsuccess/article/details/91862165
今日推荐