交叉编译

来源:互联网 发布:加州大学 知乎 编辑:程序博客网 时间:2024/05/22 16:52

交叉编译
可以编译在另一不同体系结构上运行的程序
比如我在X86_64下面编译程序在arm平台运行
交叉编译的作用
“在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是16到32MB,而CPU的主频大概在100MHz到500MHz之间。这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的CPU运算能力。”—————-摘自百度
亲身体会:当我在服务器上编译kernel的时候 基本上是make -j8 uImage的 这样服务器就会变慢。总之不可能在一个嵌入式设备里面编译程序,否则为什么叫嵌入式
Glibc
Glibc (GUN C library)
http://blog.csdn.net/lemonrabbit1987/article/details/47970861
比如我们经常写的#include<stdio.h>就是C标准库里的输入输出函数
uClibc
http://blog.csdn.net/zengwh/article/details/1482418
uClibc比Glibc小
交叉编译工具链
http://blog.csdn.net/pengfei240/article/details/52917018
大家没事可以试一下
这里介绍一个命令
uname -i 硬件平台
-m 机器硬件(CPU)名
-o 操作系统
-p 系统处理器的体系结构
-r 操作系统的发现版号
-s系统名
-v 内核版本
-a all