2
我想通過使用dllexport導出函數。但我遇到的錯誤,而編譯器「錯誤C4439:‘WrappedC’:在簽名託管類型函數定義必須具有__clrcall調用約定」。使用dllexport時出錯?
我的頭文件(.h)中的代碼是:
extern "C"
{
__declspec(dllexport) int __stdcall ABC(int i);
__declspec(dllexport) char* __stdcall C(int i);
__declspec(dllexport) array<char>^ __stdcall WrappedC(int i) ;
}
我曾試圖改變_stdcall到__clrcall但它使另一個錯誤:
error C3395: 'WrappedC' : __declspec(dllexport) cannot be applied to a function with the __clrcall calling convention
我已經搜索互聯網,但我對尚未解決。
感謝,
牛逼& T組
謝謝你,但如何解決這個問題。 – TTGroup 2012-03-16 03:01:32
哎呀!我知道我忘了一些東西。您可以將該函數聲明爲public,但您不能在非託管程序中使用它。 – Aleks 2012-03-16 03:04:29
@Aleks其實,你可以,它只是涉及非常hacky的東西,它是一個封裝DLL更容易。 – Avery3R 2012-03-16 03:06:05