Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api openGL实现是特定于操作系统的吗?_Api_Opengl - Fatal编程技术网

Api openGL实现是特定于操作系统的吗?

Api openGL实现是特定于操作系统的吗?,api,opengl,Api,Opengl,我理解API是两个代码之间的粘合剂。它们以库函数的形式实现,最终在运行时在计算机上编译并需要库函数 那么,这不意味着它们的实现是特定于操作系统的吗 我特别想知道opengl的实现是否特定于操作系统?我使用的是fedora 19,安装了Mesa library。一般情况下 一些API可能以特定于操作系统的方式实现,而其他API则不是 这取决于是否需要底层特性来实现它们,或者API运行的环境是否提供了实现它们所需的构建块 例如,JDBCTYPE-4驱动程序以独立于操作系统的方式实现JDBCAPI 其

我理解API是两个代码之间的粘合剂。它们以库函数的形式实现,最终在运行时在计算机上编译并需要库函数

那么,这不意味着它们的实现是特定于操作系统的吗

我特别想知道opengl的实现是否特定于操作系统?我使用的是fedora 19,安装了Mesa library。

一般情况下 一些API可能以特定于操作系统的方式实现,而其他API则不是

这取决于是否需要底层特性来实现它们,或者API运行的环境是否提供了实现它们所需的构建块

例如,JDBCTYPE-4驱动程序以独立于操作系统的方式实现JDBCAPI

其他API(如POSIX)可能必须以特定于操作系统的方式实现,而其中的某些部分可能可以以独立于操作系统的方式实现

另一个例子是APR,ApachePortable运行时,它是以特定于操作系统的方式实现的。另一个API Serf构建在APR之上,因此它的实现实际上是独立于操作系统的

总之,作为一般规则,低级API往往以特定于操作系统的方式实现,而高级API将以其他低级API的方式实现,因此更可能以独立于操作系统的方式实现

Mesa/OpenGL 本答案的第一部分是在问题为一般API问题时编写的。后来这个问题被改为专门关于OpenGL的问题

我不太熟悉OpenGL的Mesa实现;我假设出于可维护性的原因,它的很大一部分是以独立于操作系统的方式实现的,但由于A)需要与硬件接口——这往往在不同的操作系统上以不同的方式实现——以及B)需要实现良好的性能,因此也会有相当数量的操作系统特定代码


另一件需要记住的事情是POSIX API有灰色区域(特别是在处理线程的部分),因此对于更高级别的API(如Mesa),可能需要特定于操作系统的代码来解决不同平台上实现的差异。

通常 一些API可能以特定于操作系统的方式实现,而其他API则不是

这取决于是否需要底层特性来实现它们,或者API运行的环境是否提供了实现它们所需的构建块

例如,JDBCTYPE-4驱动程序以独立于操作系统的方式实现JDBCAPI

其他API(如POSIX)可能必须以特定于操作系统的方式实现,而其中的某些部分可能可以以独立于操作系统的方式实现

另一个例子是APR,ApachePortable运行时,它是以特定于操作系统的方式实现的。另一个API Serf构建在APR之上,因此它的实现实际上是独立于操作系统的

总之,作为一般规则,低级API往往以特定于操作系统的方式实现,而高级API将以其他低级API的方式实现,因此更可能以独立于操作系统的方式实现

Mesa/OpenGL 本答案的第一部分是在问题为一般API问题时编写的。后来这个问题被改为专门关于OpenGL的问题

我不太熟悉OpenGL的Mesa实现;我假设出于可维护性的原因,它的很大一部分是以独立于操作系统的方式实现的,但由于A)需要与硬件接口——这往往在不同的操作系统上以不同的方式实现——以及B)需要实现良好的性能,因此也会有相当数量的操作系统特定代码


另一件需要记住的事情是POSIX API有灰色区域(特别是在处理线程的部分),因此对于更高级别的API(如Mesa),可能需要特定于操作系统的代码来解决不同平台上实现的差异。

OpenGL实现当然是特定于操作系统的。它们与操作系统集成,通常与设备驱动程序集成

但是,OpenGL规范是独立于操作系统的,因此OpenGL API不是特定于操作系统的


注意OpenGL初始化(windows和渲染上下文)非常依赖于操作系统(WGL或GLX API实现)。

OpenGL实现当然是特定于操作系统的。它们与操作系统集成,通常与设备驱动程序集成

但是,OpenGL规范是独立于操作系统的,因此OpenGL API不是特定于操作系统的


注意OpenGL初始化(windows和渲染上下文)非常依赖于操作系统(WGL或GLX API实现)。

有一些标准,如POSIX,这意味着API不是特定于操作系统的,但通常是“是”。OP询问API的实现是否是特定于操作系统的。所以POSIX应该是“是的”。另外要记住的是POSIX API有灰色区域(特别是在处理线程的部分),因此对于更高级别的API,如Mesa,可能需要操作系统特定的代码来解决不同平台上实现的差异。有一些标准,如POSIX,这意味着API不是特定于操作系统的,但通常为“是”。OP询问API的实现是否特定于操作系统。所以POSIX应该是“是的”。另外要记住的是POSIX API有灰色区域(特别是在处理线程的部分),因此对于更高级别的API,如Mesa,可能需要操作系统特定的代码来解决不同平台上实现的差异。谢谢,但是如果你先看看这个问题的修订历史,就没有提到Mesa或OpenGL.Ops。。。我没注意到。如果编辑,我可以删除否决票。完成;我已经把我的评论移到了答案中。@Colin'that你呢