编译型、解释型语言

Java到底是编译型语言还是解释型语言?

https://blog.****.net/qzc70919700/article/details/72515022

编译型的语言包括:C、C++、Delphi、Pascal、Fortran 
解释型的语言包括:Java、Python、PHP、javascript、Basic

 

问题1:编译型语言、解释型语言在计算机中分别是怎么运行的?

答:本质上都是将字符转化为机器可执行的二进制数据(这个过程叫作编译),计算机读取二进制数据到内存中执行。

区别是:

编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。 
解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

 

问题2:Windows上编译好的C语言可执行文件,可以移植到Linux上运行吗?

答:不能。Windows上编译好的C语言可执行文件,多数时候不能在Linux上运行。C程序满足和专win专有接口能脱离直接关系,就属能在linux下编译。确保你的C程序没有调用win下专有的api,比如win32api或.net等。实际上,很难保证。

 

问题3:怎样将windows下写的C程序在linux下编译运行?

答:将C源码放到Linux上,用gcc编译。

使用标准库的程序,用gcc编译
gcc hello.c -o hello   #  在Linux上使用gcc工具对C语言进行编译
./hello    # 运行

 

问题4:java是哪种类型的语言?

答:java是解释型语言(个人观点)。java语言的编译-->解释--->执行过程。

编译型、解释型语言

像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言,没有经过第二次的处理。

而Java不一样他首先由编译器编译成.class类型的文件(字节码,中间文件),这个是java自己类型的文件,然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言。

由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台!