交叉编译
C语言是一门跨平台的语言,语言跨平台,但是程序不跨平台, 也就是说在windows平台下编译的程序只能在windows平台上执行,linux亦是如此, 为什么会出现这种情况呢?..., 这个时候我们就要使用交叉编译工具, 那这种编译的模式就不叫本机编译了,而叫做交叉编译
为什么需要交叉编译
原因:
你正在编译一款linux应用,但你手上只有一台windows电脑,这个时候交叉编译能帮上大忙...目标设备环境不允许,比如单片机, 内存和性能无法支持程序的编译
交叉编译工具
交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]
arch – 体系架构,如...,ARM GCC可分为支持和不支持操作系统,如
arm-none-eabi:这个是没有操作系统的,适用于ARM架构裸机,工具链提供商未知,嵌入式应用二进制接口,这个工具不支持那些跟操作系统关系密切的函数...,实现在windows平台上编译出能够在ARM+Linux平台上的可执行程序
这里我们使用 arm-none-linux-gnueabi-gcc 这款交叉编译工具
工具下载:
各个平台arm-none-linux-gnueabi