arm-linux-gnueabihf-gcc交叉编译工具链

arm-linux-gnueabihf-gcc交叉编译工具链


ubuntu 终端:

# 在主机上执行如下命令
sudo apt install gcc-arm-linux-gnueabihf
# 安装完成后使用如下命令查看版本
arm-linux-gnueabihf-gcc -v
#include <stdio.h>
int main(int argc, char *argv[])
{
    int i;
    printf("Hello World http://chanpinxue.cn \n");
    printf("jiang zhi hao \n");
    return 0;
}
# 以下命令在主机上运行
# 在 hello.c 程序所在的目录执行如下命令
arm-linux-gnueabihf-gcc hello.c -o hello

arm-linux-gnueabihf-gcc hello.c -o hello_static --static
# 执行主机编译的 x86 架构程序
./hello

bash: ./hello: cannot execute binary file: Exec format error

如图所示,程序无法正常运行,终端提示 x86 架构(Intel 或 amd) 执行 arm 工具链编译 的 hello程序时提示格式错误,原因是 x86_64 和 arm 架构的程序不兼容,本质是由于这些 cpu 使用的指令集不同。

开发板中执行生成的 hello_static 静态程序
./hello_static

发表回复

您的电子邮箱地址不会被公开。