安装了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。想办法把别人灌醉,自己不会醉。3。看着别人喝,自己不喝,不会醉。我觉得只有这几种办法了。〔呲牙〕千万不要吃药去拼酒,……
有人说要想死得快,多去饭店多点菜,这是真的吗?你去试试看吧我在烹饪学校学过三年厨师,毕业以后在大大小小的酒店都从事过厨师工作,自己后来也开了接近10年的小饭店,因此对于餐饮行业可以说是业内人士。现在的饭店根据规……
草菇有放一片,香一锅的美誉草菇亦称苞脚菇、兰花菇,是一种优质的食用菌。菇肉非常嫩滑,滋味十分鲜美,富有营养价值,烹成菜肴,很受人们欢迎,视为庖厨之珍。制成干品,畅销国内外。其产量在全世界的裁培食用菌中居……
为什么现在很多餐厅都开始抵制探店主播了?朋友的饭店请了一个探店主播进行推广,结果生意不但没红火,反而濒临倒闭。朋友开了一家饭店,主营是川菜,但是开业之后生意一直不温不火,说不上太好,但是也能维持下去,为了解决这……
车厘子是樱桃吗?车厘子,我想是有人把英语里樱桃cherry音译过来的。cherry读音类似车厘又不很相同,因为汉语里没有与它完全相同的读音。当然,学过英语的人会正确地读它。车厘后面再加一个子,……
请问湖南湘西有什么特色,或者好吃的好玩的?说到湖南湘西的特色,虽然我不是湖南人,但也去过几次游玩,根据我的游玩经验,给大家推荐一下一些好吃好玩的吧:要说好玩的,跟我一样喜欢休闲的话可以选择凤凰古城和一些苗寨。……
一加买水军碰瓷Redmi,小白数据公布数据打脸垫底了还吹?最近在网上发现一个奇怪现象,虽然讨论的人并不多,但每一段文字都怀揣满满恶意,让人心寒。注意看下方两名科技领域KOL,二者同属一家MCN机构,从过往文章来看,两个账号基本可……
养殖的人参怎么浸泡白酒?养殖人参怎么浸泡白酒?对于小编来说在自家农村常常用人参来泡制各类酒水,时间比较悠久,也成了一种农村的一股风俗,所以养殖人参用来泡酒的方法很简单,也比较容易制作成功,接下来小编和……
未来2年,普通人或将面临3件事,关乎钱袋子,要提前做好准备2022年,对于很多人来说都不太好过,全球经济都比较低迷,疫情时好时坏,工作压力也不小,尤其对于有房贷车贷的人来说会更难。在未来两年,大多数普通人还有可能要面临3件事,对所有人……
一键导出苹果手机相册原图最新发现的超好用导出手机相册方法〔赞〕〔赞〕一次性导出手机相册所有照片和视频!无压缩!原图!强烈推荐给大家!!同时登陆电脑QQ和手机QQ,然后在电脑QQ上点击我的i……
SPACEX害怕了吗?中国空间站机械臂成功完成抓举试验,意义中国最强大力士产生了!根据中国载人航天工程办公室消息:北京时间2022年1月6号早上6点59分,中国空间站机械臂成功完成了抓举试验!此次试验全程历时约47分钟,由空……
接下来的三年时间,将成为中国房地产经济和楼市的关键蜕变期?头条创作挑战赛这是熊猫贝贝的第1378篇原创文章:2022年还剩下两个月不到的时间了,在绝大多数普通人和舆论认知环境中,中国的房地产经济和楼市依然在充斥着不确定性的……