永发信息网

编译器优化怎么定义

答案:2  悬赏:30  手机版
解决时间 2021-02-19 10:49
编译器优化怎么定义
最佳答案
常见的优化和变新有:函数内嵌(inlining),无用代码删除(Dead code elimination),标准化循环结构(loop normalization),循环体展开(loop unrolling),循环体合并,分裂(loop fusion,loop fission),数组填充(array padding),等等。 优化和变形的目的是减少代码的长度,提高内存(memory),缓存(cache)的使用率,减少读写磁盘,访问网络数据的频率。更高级的优化甚至可以把序列化的代码(serial code)变成并行运算,多线程的代码(parallelized,multi-threaded code)。

机器代码的生成是优化变型后的中间代码转换成机器指令的过程。现代编译器主要采用生成汇编代码(assembly code)策略,而不直接生成二进制的目标代码(binary object code)。即使在代码生成阶段,高级编译器仍然要做很多分析,优化,变形工作。例如如何分配寄存器(register allocatioin),如何选择合适的机器指令,如何合并几句代码成一句等等。
全部回答
编译是从源代码(通常为高阶语言)到能直接被计算机或虚拟机执行的目标代码(通常为低阶语言或机器语言)的翻译过程。然而,也存在从低阶语言到高阶语言的编译器,这类编译器中用来从由高阶语言生成的低阶语言代码重新生成高阶语言代码的又被叫做反编译器。也有从一种高阶语言生成另一种高阶语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。 典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的可执行程序。 从他的原理我们就好优化了,但是方法很多的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我朋友用支付宝给我卡里转钱,打明细的时候能
【写通知的格式】通知书书写格式在作文纸上写
啤酒。不管怎么倒都有很多泡泡是怎么回事?是
有没有人出现过眼睛胀鼻子堵症状?
转角平价自选地址有知道的么?有点事想过去
我们网恋了一年多,很相爱,第一次见面,他失
洛克人Zx中M地区的影藏通道
怎么清除qq在附近送出的礼物历史记录
中国移动昆山朝阳东路五洲指定专营店这个地址
有朋友向我推荐天祖酵素梅,可以减肥、排宿便
黑龙江省中旅国际旅行社牡丹江分社这个地址在
贺知章是一个什么样的人?
结婚以后都干什么洞房又是干什么的?
自动焊接机的主要特点是什么
本人想在天津市南开区买一套房子 价钱控制在1
推荐资讯
歌曲《yellow》的原唱是谁啊?
【orphaned】-IlikeapeacefulworldbutInotlik
甲数的80%与乙数的六分之五相等,则甲数与乙数
下列关于城市低保标准,说法错误的是()。A.常
“德高三皇,功过五帝”“名号不更,无以称成
我砌都阴井渗水怎么办
一个男人说对女人说失望是什么意思
武汉农村商业银行ATM这个地址在什么地方,我
各省市高温补贴怎么发
天津808第一班车几点
灵丘到大同火车
魅蓝note2的手机 锁屏密码忘记了 flyme账号也
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?