/****************************************************************************************/
/* 获取更多干货技能,点击 [这里-小编文章列表] 主页左侧扫码关注公众号 */
/***************************************************************************************/
首先说说交叉编译的事:一个简单的Hello World程序,在x86_64的机器上编译通过后,将其生成的可执行程序拷贝到aarch64的机器上去执行,肯定是执行不通过的,
会报文件格式不正确之类的错误,这是因为程序的编译平台环境和程序的运行平台环境不同导致的,x86_64的机器CPU是amd64架构的(复杂指令集),而aarch64机器的CPU是arm架构的(精简指令集),所以,两个不同指令集结构的机器,是不能相互解释执行的,因为他执行读取等的寻址方式是不同的。但是为了满足对机器最大程度的利用,对于开发人员来说,又不想每种架构的指令集都搞一台机器放到身边,而是想让不同架构的机器最好在一台机器上就可以将其编译生成可执行程序,然后将执行程序交给客户(可能客户用的是arm机器

本文介绍了交叉编译的基本概念,解释了为何在x86_64系统上生成的程序无法直接在aarch64设备上运行。通过一个Hello World的例子,展示了交叉编译的必要性,并特别提到了使用aarch64-linux-gnu-gcc进行Qt交叉编译的过程。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



