0
我正在嘗試爲Profilab
創建模塊(dll)。對於工作,在實例尋找C++ Builder
時應該有出口名稱列表,示例使用_stdcall將更改dll中導出函數的名稱
// return number of inputs
unsigned char NumInputs()
,它的聲明如下
extern "C" __declspec(dllexport) unsigned char _stdcall NumInputs();
當我同樣的方式宣告它在Visual Studio (?)2013特快C++項目,我越來越像出口這個名字(用的Dependency Walker檢查):
[email protected]
不作品Profilab
。
刪除_stdcall
部分將生成專有名稱(NumImputs
),但軟件會崩潰,我認爲是由於缺少_stdcall
部分。
我該怎麼辦?如何導出NumInputs
並同時有_stdcall
?
什麼是ABI?如何在def-file中定義函數的名稱?如果我理解正確,名稱已經存在於obj文件中,甚至有人聲明「__declspec(dllexport)」def文件過時了。你能否延長你的答案?例如,將名稱從「_NumInputs @ 0」更改爲「NumInputs」。 – Sinatr
在文檔中添加了一個示例,並且更加鬆散。 – Deduplicator
我創建了def文件,將其添加到項目並設置[鏈接器選項](http://msdn.microsoft.com/en-us/library/34c30xs1.aspx)。它現在有用,謝謝! – Sinatr