C++ 我不理解的函数声明
今天在浏览API时,我遇到了一些对我来说陌生的函数声明 GLAPI void GLAPIENTRY glColor3b GLbyte红色、GLbyte绿色、GLbyte蓝色 如何解释前3个标记?我不知道在这个问题上用谷歌搜索什么…GLAPI和GLAPIENTRY将成为宏。他们将扩展到特定于平台的令牌,这些令牌描述符号是如何损坏的,如果不是默认的,调用约定是什么,以及如何静态或动态地找到符号 OpenGL使用这样的宏是因为相同的头文件可以在多个不同的编译器上工作,并且通常在操作系统上工作。头文件的其他部分使用预处理器来查询它们所在的编译器/操作系统,并更改这些预处理器标记以在该平台上执行正确的操作 至于void,它意味着函数不返回任何内容 如果您创建一个指向glColor3b的函数指针,您可能需要关心这些标记的作用,因为函数指针中通常包含调用约定信息。此外,如果构建设置出错,您可能会收到链接错误的错误,例如从错误中生成的错误。但除了这些情况,你可以忽略它们 在3个不同的编译器上,它可能扩展到:C++ 我不理解的函数声明,c++,C++,今天在浏览API时,我遇到了一些对我来说陌生的函数声明 GLAPI void GLAPIENTRY glColor3b GLbyte红色、GLbyte绿色、GLbyte蓝色 如何解释前3个标记?我不知道在这个问题上用谷歌搜索什么…GLAPI和GLAPIENTRY将成为宏。他们将扩展到特定于平台的令牌,这些令牌描述符号是如何损坏的,如果不是默认的,调用约定是什么,以及如何静态或动态地找到符号 OpenGL使用这样的宏是因为相同的头文件可以在多个不同的编译器上工作,并且通常在操作系统上工作。头文件的
extern void glColor3b (GLbyte red, GLbyte green, GLbyte blue);
__declspec(dllimport) void __stdcall glColor3b (GLbyte red, GLbyte green, GLbyte blue);
__stdcall void glColor3b (GLbyte red, GLbyte green, GLbyte blue);
或