有许多问题可以解释API和库之间的区别,例如this one和this one。
我知道库是一大堆代码,您可以从自己的代码中调用它们,以帮助您更快/更轻松地完成工作。 API是类和方法库的一部分,可供用户在其代码中使用。根据我的理解,我将OpenGL归类为库而不是API,但当我读到一本书时,它说OpenGL不是一个库,而是一个API。
你能告诉我它是哪一个吗?
答案 0 :(得分:4)
OpenGL是一个API。为什么?因为API是指定以某种方式运行的函数和标记的列表。 API记录在规范中。 OpenGL的规范可以在http://opengl.org/registry找到,规范本身不是你可以在计算机系统上安装和运行的东西。
OpenGL不是一个库。为什么?因为规范只是一个规范性文本,所以你不能单独使用它。请注意,在OpenGL的规范文档中,还有可用于编译OpenGL程序的头文件。但缺少的是可以链接的实际代码(库)。可以链接的行为与OpenGL规范指定的行为称为实现。但实现与OpenGL规范相同,并作为操作系统图形基础架构的一部分提供。