共用方式為


匯出 C 函式以用於 C 或 C++ 語言可執行檔

如果您在以 C 撰寫的 DLL 中有函式,您可以使用預處理器巨集,輕鬆地從 C 語言和 C++ 語言程式代碼存取。 __cplusplus預處理器巨集會指出要編譯的語言。 您可以從C++語言程式代碼呼叫時,使用 C 連結來宣告函式。 如果您使用這項技術並提供 DLL 的頭檔,C 和 C++使用者可以使用這些函式,且沒有任何變更。

下列程式代碼顯示 C 和 C++用戶端應用程式可以使用的標頭檔:

// MyCFuncs.h
#ifdef __cplusplus
extern "C" {  // only need to export C interface if
              // used by C++ source code
#endif

__declspec( dllimport ) void MyCFunc();
__declspec( dllimport ) void AnotherCFunc();

#ifdef __cplusplus
}
#endif

有時候您可能需要將 C 函式連結至 C++ 可執行檔,但函式宣告頭檔尚未使用上述技術。 您仍然可以從 C++ 呼叫函式。 在C++原始程序檔中 #include ,包裝 指示詞以防止編譯程序裝飾 C 函式名稱:

extern "C" {
#include "MyCHeader.h"
}

您想要做什麼事?

您還想知道關於哪些方面的詳細資訊?

另請參閱

從 DLL 匯出