大家好,今天小编关注到一个比较有意思的话题,就是关于有哪些编程语言可以跨平台的问题,于是小编就整理了3个相关介绍有哪些编程语言可以跨平台的解答,让我们一起看看吧。
c语言的源码能跨平台吗?
C语言本来就是跨平台的,不过是“源码级”跨平台。本来就是存在针对linux、windows的不同的编译器。所以有C语言“一次编写,到处编译”,Java是“一次编译,到处运行”的说法。
如C++创始人酸溜溜的说法,JVM造了一个新的平台,让所有J***a程序只能在这个平台上运行,而C和C++的代码可以在几十个不同的平台上运行,从这个角度而言,C和C++是跨平台的,而J***a不是。
c语言是如何跨平台的?
标准C和标准C++都是源代码级跨平台的, 也就是说你用标准C/C++写的代码在Windows下编译后就可以windows下运行, 在unix/linux下编译后就可以在unix/linux下运行.
跨硬件平台是靠编译器的,比如要输出一个字符,C里用printf("C");
硬件平台a用中断A输出, 硬件b用中断B输出, 那么就得有两个不同的编译器, 它们都用不同的方法实现C的功能
DirectX、OpenGL、Vulkan、Metal中哪一个更适合用于跨平台大型3D游戏的开发?
首先DX肯定是不适合跨平台的,因为只有windows支持,一般windows开发者也一定会选择支持DX,确实加速性能说得过去,而且特别适合windows平台。
OGL和Vulkan两个库都可以作为跨平台库使用,OGL的支持应该算是更广泛一些,无论是PC平台,还是Android或者iOS平台都提供了对应的支持;vulkan支持平台也很广,但是比OGL差一点,windows支持还没有做到,Android提供了支持但是iOS还没有,所以不算是全平台通用。
Metal是iOS自己支持的库,Android现在肯定没有支持,macOS应该是支持的,但是windows应该还没有提供支持,所以跨平台的话,也只能在苹果生态里面跨平台了。
1.DirectX(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口,是一种应用程序接口(API)。DirectX可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。DirectX已被广泛使用于Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360和Microsoft XBOX ONE电子游戏开发。所以用DirectX做游戏可以降低开发者负担。
2.OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。
OpenGL的高效实现(利用了图形加速硬件)存在于Windows,部分UNIX平台和Mac OS。这些实现一般由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。开放源代码库Mesa是一个纯基于软件的图形API,它的代码兼容于OpenGL。但是,由于许可证的原因,它只声称是一个“非常相似”的API。
3.同 OpenGL® 一样,Vulkan™ 也由 Khronos 集团开发。它是 AMD Mantle 的后续版本,继承了前者强大的低开销架构,使[_a***_]人员能够全面获取 Radeon™ GPU 与多核 CPU 的性能、效率和功能。相对于 OpenGL,Vulkan™ 大幅降低了 CPU 在提供重要特性、性能和影像质量时的“API 开销”(CPU 在分析游戏的硬件需求时所执行的后台工作),而且可以使用通常通过 OpenGL 无法访问的 GPU 硬件特性。
4.在 WWDC 2014 上,apple为游戏开发者推出了新的平台技术 Metal,该技术能够为 3D 图像提高 10 倍的渲染性能,并支持大家熟悉的游戏引擎及公司。
Metal 是一种低层次的渲染应用程序编程接口,提供了软件所需的最低层,保证软件可以运行在不同的图形芯片上。Metal 提升了 A7 与 A8 处理器效能,让其性能完全发挥。
以上是4个开发软件的简介,至于哪个更适合跨平台开发大型游戏,这得因人而异,不过我还是推荐DirectX。
到此,以上就是小编对于有哪些编程语言可以跨平台的问题就介绍到这了,希望介绍关于有哪些编程语言可以跨平台的3点解答对大家有用。