Cross Compile

深入理解交叉编译(Cross Compile) 首先你要了解一下,三个名词:”build, haost, target”,和三元组。 build:构建 gcc 编译器的平台系统环境,编译该软件使用的平台。 host::是执行 gcc 编译器的平台系统环境,该软件运行的平台。 target:是让 gcc 编译器产生能在什么格式运行的平台的系统环境,该软件处理的目标平台。 三元组:架构-设备厂家-位 一. build、host、target的三种组合 build与host不同是交叉编译器;build与target不同是交叉编译链;三者都相同则为本地编译。 指定:- -build=X86, - -host=X86, - -target=X86 使用X86下构建X86的gcc编译器,编译出能在X86下运行的程序。 指定:- -build=X86, - -host=X86, -...

Compile Section

细说编译性语言的编译四大阶段 编译的四个阶段:预处理(扩展各个宏与文件)、编译(得到汇编代码)、汇编(得到机器码)、链接(得到可执行文件) 一. 编译时达到的每一个阶段 可以使用 gcc 一个 -save-temps 参数编译源代码,会把编译整个过程的中间文件保存下来,不删除。 预处理阶段 # 预处理阶段:gcc -E Hello.c * 得到一个 *.i 后缀的文件。 * 源代码里以 “#” 开头的命令是“预处理命令”,例如:“#define”,"#include","ifndef"等。 编译阶段 # 编译阶段:gcc -S Hello.c * 得到一个 *.s...

From kexec to crash

Linux kernel dump mechanism analysis 想要了解 Linux 内核转储机制,就要从 kexec - > kdump - > crash 这个递进过程去分析。   只有清楚他们在各个过程负责的任务、功能,搞通了工作原理、功能后,就去实际环境中使用,最后再去分析其源码,只有这样你是真正的知道了整个转储机制。 一. 工具介绍及其所负责任务 kexec kdump crash 1. kexec工具 kexec是内核更换,免于再次经历固件的工具,节省了内核开发者的时间。kexec实现了在一个内核里启动另一个内核。 安装 yum install kexec-tools kexec两种使用方式...

Test mod

This is an Test mod file,is an Test mod file. Test IMG test 1 test 2