05.操作系统

来源:互联网 发布:青岛淘宝大学 编辑:程序博客网 时间:2024/06/06 04:17


什么叫操作系统?

操作系统是介于程序和硬件之间的直接运行在裸机上的最基本的系统软件,只有操作系统存在的情况下,程序才能在它的支持下运行。

为什么一般程序不能跨平台?

因为有些程序会用到操作系统的库函数。由于不同系统的库函数也是不同的,这也就导致了在一个系统上写的程序通常不能在其他的系统上运行。

java的跨平台和c++的”跨平台“区别

java的跨平台是​一次编译到处运行:java程序编译后并不是生成在硬件系统上直接运行的二进制而是一种中间码--字节码,这种中间码在通过java虚拟机翻译成对应硬件平台能够执行的代码。再将此代码翻译成机器码就可以实现跨平台


不同于c++的编译执行的是,java是解释执行的,编译生成的中间码与平台无关(一次编译,到处运行),中间码再由解释器解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器.

c++的跨平台是一次编写倒处编译:想在哪个平台运行就将c++的程序代码在相应的平台编译一下,生成相应硬件平台的机器码。这里有一个问题因为不同平台的链接库内的函数名是不同的,就会导致在一个平台编写的程序可以正常地编译,到另一个平台却因为无法找到对应的库函数而失败。

通常解决方案:

1.应用标准c/c++语法,因此用C和C++标准语法编写的程序在任何一个平台,只要该平台有支持标准语法的编译器都能编译运行。​(但这种方法无法应用特定平台的特定函数)

2.代码中加上检测当前平台的条件语句,然后根据结果,选择执行代码中对应平台的函数

3.应用像qt这样的支持跨平台的第三方库。​


0 0
原创粉丝点击