共用方式為


匯出 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 匯出