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
DLLをコンパイルするか、DLLから関数をインポートするかに応じて、__declspec(dllexport)
またはに定義されます。__declspec(dllimport)
XN_C_DECL
関数の目的の呼び出し規約に定義されます(おそらく__stdcall
または__cdecl
)
定義を見ていなくても、次のように推測できます。
XN_C_API
extern "C"
C関数をC++から呼び出すことができるように、C++コンパイラに効果的です。
XN_C_DECL
Windows によって課される呼び出し規則とエクスポート/インポートの問題を扱います。それは__declspec(ddlexport)
or__declspec(dllimport)
である可能性があり、 etc が含まれている可能性があり、__stdcall
etc についても心配している可能性がありますFAR
(ただし、おそらくそれ以上は必要ありません)。