嵌入式linux(stm32mp157)第一个app实验 交叉编译“hello world”

交叉编译:在一个平台上,编译出能在另一个不同体系结构平台上运行的程序,例如在x86的平台上编译出能在arm板上运行的程序。

交叉编译的原因:目标平台的资源有限,运行速度慢,内存和磁盘也不足;目标平台的第一个编译器需要交叉编译获得;在目标平台上移植完整的linux编译所需支持包很麻烦。

交叉编译的详细解释http://t.csdn.cn/hDBRh

hello world 源码:

01 #include <stdio.h>
02
03 /* 执行命令: ./hello xxx
04 * argc = 2               argument count 参数数量 
05 * argv[0] = ./hello      argumen value 参数值  
06 * argv[1] = xxx
07 */
08
09 int main(int argc, char **argv)  
10 {
11 if (argc >= 2)
12 printf("Hello, %s!\n", argv[1]);
13 else
14 printf("Hello, world!\n");
15 return 0;
16 }

在源码存放的文件夹下执行如下代码进行编译

gcc -o hello hello.c

 执行

./hello
显示 Hello, world!

./hello XXX
显示 Hello, xxx!

上面编译出来的程序在arm上无法运行 需要在配置好交叉编译环境后,使用交叉编译工具链进行编译,获得的程序才可以在arm上运行

arm-buildroot-linux-gnueabihf-gcc -o hello hello.c

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值