编译程序的分类

    如同存在粉形形色色的程序设计语言一样,也存在着各种各样的编译程序。根据不同的川途和侧峨面.编译程序可以分成如下儿类。
    1.诊断型编译程序
    这类编译程序专门用于帮助程序的开发和调试,它们系统地分析程序,发现程序中的错误.钾能地校正一些错误,如关键字拼写错误、匹配括号的遗瀚。有些诊断型编泽程序可以
模拟程序的运行.发现目标程序运行时可能产生的错误。由于诊断型编译需要占用计算机的存储和计算资茸.故通常只用在程序开发的初始阶段。
    2.优化型绷译程序
    这类编译程序粉重于提高月标代码的时空效率,使得产生的目标代码既占用较少的存储空间.又运行得快。然而.这些月标住住是相互矛质的。一般情况下.要程序运行得快就要占用较多的存储空间.反之亦然。例如,对使用倾率较高的变t.可以把它们放在寄存器中以减少存取时间,但是在过程或的数两用时又需要保护和恢复这些寄存器.倾外需要更多的时间,因此,对目标程序的优化是一个折中的过程。很多优化型编译程序提供参数设置.允许用户选择不同的目标.以合理的代价获得期望的优化效果。
    3.交叉型幼译程序
    运行目标程序的计算机通常和运行编译程序的计算机的里号相同。但是.例如鑫宇宙、手机、汽车等设备L运行的嵌人式应用软件.飞船、手机、汽车等设备L运行暇发,经过编译、运行和侧试之后.一般是在另外类型的计算机上设计和开友,毅过编泽、运行和侧试之后,再经过一次编译产生出在上述设备上可以运行的目标代码这类编译程序称为交X型编译粗序.
4.可变目标理编译程序
  一个编译程序通常是为一个特定的程序设计语言和一类特定的目标计算机而设计的.生成的日标代码只能在特定类必的计算机上运行。同一种编程语言在其他不同类型的计算机l:运行时,盅要或新开发编译程序。利川编译前端和后端的技术,可以设汁与目标机无关的编译程序.利用编译后端就叮以改变n标计算机,这样编译方便移杭.这类编译程序称为可变目标硕编译程序。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值