什么是编译程序
编译程序和翻译程序的关系
翻译程序:翻译程序就是把源语言程序翻译成为另外一个语言的程序。
编译程序:编译程序似乎是翻译程序的一种,这种翻译是向下翻译的,把高级语言程序翻译成为计算机可以读得懂的低级语言程序。
编译程序分类:
诊断编译程序:帮助程序员编译的代码,但是效率不是很高
优化编译程序:编译很快的代码
交叉编译程序:目标机和宿主机一般是同一个机器,但是当编译程序产生不同于宿主机的目标代码
可变目标编译程序:针对目标来修改代码,修改针对目标可以改变的部分,不是整个修改
宿主机与目标机概念:
宿主机运行编译程序,目标机器运行源程序。
解释程序:把源语言的源程序一条一条的进行翻译执行,但是不是产生一整个目标程序。
编译解释的关系:
中文和翻译的例子:
编译:有一个英文的手册,把他翻译成中文的手册,叫做编译
翻译:英文手册的句子,把他一句句翻译,就是翻译。
提问:编译型的程序设计语言和解释型的程序设计语言有什么优缺点?
编译型的可能要生成目标语言程序,单步运行会慢一点?因为他要全部执行,不够灵活。
网上是说编译型的设计语言会执行的更加快一点,因为是他可以更好的优化,可以把自己代码隐藏起来,不会泄露源代码。翻译设计语言就灵活一些,可读性也好,跨平台兼容性更高一点。但是也就显示出来源代码。