很多O功能在OpenNI回報這樣的:.cpp的回報好奇心
XN_C_API XnInt32 XN_C_DECL xnVersionCompare (const XnVersion *pVersion1, const XnVersion *pVersion2)
我想現在的XN_C_API和XN_C_DECL。 只是好奇心!
很多O功能在OpenNI回報這樣的:.cpp的回報好奇心
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
被定義爲預期的calling convention的功能(可能__stdcall
或__cdecl
)
,而不必看着的定義,我猜想:
XN_C_API
是有效用於C++編譯器的extern "C"
,以便可以從C++調用C函數。
XN_C_DECL
處理由Windows施加的調用約定和導出/導入問題。這可能是__declspec(ddlexport)
或__declspec(dllimport)
,它可能包括__stdcall
等,也可能擔心FAR
等(但可能不需要更多)。
在標題或文檔中查看它們嗎?使用網絡搜索? ...或者是關於這裏的語法的問題? ... – 0xC0000022L 2012-03-07 19:31:10