安装了qemu虚拟机,我准备给scf加上arm64的机器码生
因为我的电脑是x64的CPU,所以暂时scf编译器框架也只有x64的机器码生成。
最近学了下qemu虚拟机,安装了arm64的ubuntu18。04,准备年后给scf加上arm64的机器码生成。
ARM是现在使用最多的RISC架构的CPU,在移动设备中使用很广泛,但PC机上几乎没有使用的。
所以,在PC机上的C代码编译成了ARM的机器指令之后,还要传到ARM的板子上去跑,这就是交叉编译。
arm机器码的调试还是比较麻烦的,因为要在两个机器码不通用的机器上来回传文件。
然后就有大牛做了一套虚拟机,就是qemu。
法布里斯贝拉,ffmpeg和qemu之父
qemu的作者叫法布里斯贝拉,是法国的一个程序员,他同时也是音视频框架ffmpeg的作者。
ffmpeg应该都不陌生,撑起了整个多媒体行业!
现在看到的各种直播、短视频、美颜的背后,都离不开ffmpeg。
就跟Linux之父同时还做了代码管理工具git一样,ffmpeg之父也做了虚拟机qemu。
qemu的出现,为底层技术的开发者们提供了巨大的方便!
不用找硬件了,也不用在两台机器上来回传代码了,直接安装个虚拟机就行了〔呲牙〕
只要下载个arm64版的ubuntu18。04,我就可以在x64的电脑上编写arm64的机器码生成模块了。
arm64的学名叫aarch64,就是arm的arch64的缩写。
arch,在底层的软硬件里一般都是指的机器平台。
它(64位的arm)与C语言的接口ABI就是armv8。
32位的arm与C语言的接口ABI是armv7,这个版本的前几年使用率非常高,现在应该没多少armv7的机器了。
在我看来,即使在移动嵌入式领域,32位CPU的时代也过去了。
在scf编译器框架里,我准备不支持任何架构的32位机器码了,只支持64位的。
arm64的helloworld的ELF文件头
上图是arm64上的helloworld的ELF头,可以看到Machine这项的名字是AArch64,其他内容跟x64的差不多。
当然ELF文件里的机器码是不一样的。
arm64的机器码是这样的:
arm64的helloworld的机器码
arm的所有型号的CPU都是RISC架构,它的每条指令都是4个字节。
不像x64,每条指令的长度是不固定的:少的1个字节,多的很多字节。
x64的helloworld的机器码
从语法分析的角度来看,arm的指令要比x64的简单很多。
每4字节就是1条指令,这32位里的每一位表示什么,就按照什么执行就行了。
但是x64的不可以,不分析完整条指令的语法,就不知道它多少字节。
x64使用可变的字节数来编码指令,一般来说,最终文件的大小比arm有优势。
在内存和硬盘特别小的上古IT时代,这种编码方式有节省空间的优势〔捂脸〕
现在,intel节省的那点内存空间,还不够给软件作者添麻烦的。
所以,指令长度不固定的CISC架构,也是个历史遗留问题。
arm的寄存器和指令没有互相绑定的问题,例如intel的乘法指令只能使用EAX和EDX,让生成机器指令的时候还得现腾出这俩寄存器来。
arm的寄存器和指令没有耦合度,机器码生成模块写起来比intel的要简单。
春节之后,把它加上。
1个方子2味中药,用它来煮水,让你从头到脚的疼痛皆可消腰痛,腿痛,浑身痛,今天贾医生就给大家分享一味中药煮水喝,帮你把身体从头到脚的疼痛通通消除。如果说你经常感觉自己的身体不舒服,总是莫名其妙地出现这里也痛那里也痛,有时是胳膊痛,有时
口腔医疗行业专题口腔种植门槛降低,升级需求推动发展(报告出品方西南证券)口腔种植需求持续扩大,服务价格调整政策较为缓和正畸种植和修复是市场规模前三的口腔细分领域我国民众的口腔健康意识不足,口腔常见病呈现患病率较高而治疗率较低的特点
微信限制登录不可解封是什么原因?还能解封吗?微信的诞生确实给人们的日常生活形态,带来了巨大的改变,但是有时候会因为某些原因不慎导致账号被封,当遇到这个情况时我们应该怎么办,今天来科普其中的知识,做好防患于未然。第一限制登录究
德国队身价榜拜仁垄断,哈弗茨成独苗,穆夏拉8000万并列第1头条创作挑战赛前言作为2014年世界杯冠军,德国队在今年年底即将开打的世界杯赛场上和西班牙哥斯达黎加日本队同分在一组。德国队的主教练是前拜仁慕尼黑队主帅弗里克,他对这支球队的熟悉程
弗里克考虑带菲尔克鲁格去世界杯,他也许会丰富德国队的特点直播吧10月9日讯德国队主帅弗里克在接受天空体育的采访时表示,会考虑带不莱梅射手菲尔克鲁格去世界杯。弗里克表示是的,菲尔克鲁格是我们世界杯名单的候选人。菲尔克鲁格目前的状态很好,距
零跑实现了领跑,谁又能实现长跑?JUELUO快评在人间,许多不同方向的人生活在一个叫家的屋檐下在车市,许多共同方向的车企奔赴在一个叫新四化的空间里。不过,空间虽然相同,但不是每家车企都会成为哈姆雷特,都会成为空间
被动减持不是违规的借口ST光一控股股东多次被动减持引起了管理层的注意,本栏认为,以死当的模式借款,然后等待被动减持,本质是变相减持,管理层应加以规范。一般来说,如果上市公司大股东通过先预告再减持的方式减
明日油价调整,或将搁浅新华社北京10月8日消息,新一轮成品油调价窗口即将于10日开启。记者8日从国家发展改革委价格监测中心了解到,综合多家机构分析预测情况,本轮国际原油平均价格和上轮相比略有下降,再考虑
在java的继承中你是不是也有过这样的疑惑?最近在写代码,有两个属性很相近的类,其中80的属性(字段)都是一样的,剩下的才是各自不一样的,在设计的时候,采用了继承的方式,抽象除了一个父类,大概如下,有FirstChild和S
早报小米12SUltra顶配直降千元自游家NV正式发布手机中国早报此前,小米推出了小米12S系列,一经上市便收到了很多粉丝的追捧。10月8日,手机中国发现,小米12SUltra参加百亿补贴,8GB256GB版本售价仅5179元,12G
赛力斯9月新能源汽车销量突破1。7万,同比增长超过300新京报贝壳财经讯(记者许诺)10月9日,赛力斯集团股份有限公司发布了公司9月产销快报。快报显示,公司9月新能源汽车销量达到17596辆,同比增长341。33其中,赛力斯汽车9月销量