G_BEGIN_DECLS 和 G_END_DECLS 有什么用?
what are G_BEGIN_DECLS and G_END_DECLS for?
我一直在分析一些 gtk 应用程序的代码,发现在 .h 文件中有 G_BEGIN_DECLS 和 G_END_DECLS 宏。文档说
Used (along with G_END_DECLS) to bracket header files
但是没看懂我的意思
这些定义应该在 C 库的 public 头文件中使用。它们对库本身并不是很有用,但它们可能对想要使用库的 C++ 应用程序有用,因为它们扩展到 extern "C"
块,确保 C++ 编译器能够处理 C 头文件
我一直在分析一些 gtk 应用程序的代码,发现在 .h 文件中有 G_BEGIN_DECLS 和 G_END_DECLS 宏。文档说
Used (along with G_END_DECLS) to bracket header files
但是没看懂我的意思
这些定义应该在 C 库的 public 头文件中使用。它们对库本身并不是很有用,但它们可能对想要使用库的 C++ 应用程序有用,因为它们扩展到 extern "C"
块,确保 C++ 编译器能够处理 C 头文件