Cpp回复好奇心

Cpp return curiosity

本文关键字:好奇心 回复 Cpp      更新时间:2023-10-16

OpenNI中的许多函数返回如下:

XN_C_API XnInt32 XN_C_DECL  xnVersionCompare (const XnVersion *pVersion1, const XnVersion *pVersion2)

我现在想知道什么是XN_C_API和XN_C_DECL。只是好奇!

这与返回值无关。在不查看源代码的情况下,我怀疑在为Windows:编译时

  • XN_C_API被定义为__declspec(dllexport)__declspec(dllimport),这取决于您是编译DLL还是从中导入函数

  • XN_C_DECL被定义为函数所需的调用约定(可能是__stdcall__cdecl

如果没有看过定义,我想:

  • CCD_ 7实际上是C++编译器的CCD_ 8,因此可以从C++调用C函数。

  • XN_C_DECL处理Windows强加的调用约定和导出/导入问题。这可能是__declspec(ddlexport)__declspec(dllimport),它可能包括__stdcall等,也可能担心FAR等(但可能不再需要)。