首先,最近学习一些java的基础,并且准备转向安卓学习,但是本人有个缺点,常常考虑问题太过深入,以至于不能释怀去继续学习,这其实对一个新人来说,并不是一件好事,有时候需要尽快入门,才能有助于我们走的更远,首先,列举几个如题目中相关的疑问:
1、 高级语言,如java、c,是否可以直接通过编译器转换为硬件识别的机器码?
为什么有这个疑问呢,因为学习高级语言一直在强调跨平台性,本来我以为只是指操作系统,后来了解其实也包括硬件系统,即使这样
如果编译器也可以实现把高级语言变成机器码,至多出现一些硬件不兼容问题,但是没有所谓跨操作系统的问题了。
举例个人电脑,大部分即可以装windwos系统,也可以安装linux系统,但是硬件是同一个,如果我们机器上java或者c程序能够通过一个编译器直接转换为
硬件对应的指令集,那么就解决了跨操作系统的问题,也就是同一个程序可以在不同的操作系统上运行,因为我跳过它,直接和硬件打交道。
我想一定是可以通过一个强大的编译器去实现的,反正我暂时想不到不能实现的原因。那一定时由于某种现实的考虑,促使后来的高级语言没有怎么做
而是高度的依赖操作系统去构建整个运行环境。
2、接着谈谈为什么高级编程语言要依赖操作系统?
因为在网上没有找到明确的