交叉编译实践-交叉编译原理与简单应用

本文介绍了交叉编译的基本概念,解释了为何在x86_64系统上生成的程序无法直接在aarch64设备上运行。通过一个Hello World的例子,展示了交叉编译的必要性,并特别提到了使用aarch64-linux-gnu-gcc进行Qt交叉编译的过程。
摘要由CSDN通过智能技术生成

/****************************************************************************************/

/*           获取更多干货技能,点击 [这里-小编文章列表] 主页左侧扫码关注公众号             */ 

/***************************************************************************************/

    

        首先说说交叉编译的事:一个简单的Hello World程序,在x86_64的机器上编译通过后,将其生成的可执行程序拷贝到aarch64的机器上去执行,肯定是执行不通过的,

会报文件格式不正确之类的错误,这是因为程序的编译平台环境和程序的运行平台环境不同导致的,x86_64的机器CPU是amd64架构的(复杂指令集),而aarch64机器的CPU是arm架构的(精简指令集),所以,两个不同指令集结构的机器,是不能相互解释执行的,因为他执行读取等的寻址方式是不同的。
但是为了满足对机器最大程度的利用,对于开发人员来说,又不想每种架构的指令集都搞一台机器放到身边,而是想让不同架构的机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值