繁体   English   中英

CPP好奇心

[英]Cpp return curiosity

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

如果不看定义,我猜:

  • XN_C_API是C ++编译器的extern "C" ,因此可以从C ++调用C函数。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM