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