共用方式為


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

如果 DLL 中有使用 C 撰寫且要從 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 函式名稱:

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

您想要怎麼做?

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

請參閱

概念

從 DLL 匯出