//----这是我定义的dll文件中的一部分, 请问高手,为什么二个定义,第一个外部程序通过另一个函数时调用就出错,而第二个直接执行这样定义就正确呢?
use
............function WSAStartup1(wVersionRequired: word; var WSData: TWSAData): Integer; external 'ws2_32.dll' name 'WSAStartup';
function WSACleanup: Integer; external 'ws2_32.dll' name 'WSACleanup';//-----------------------------------------------
function WSAstartup(wVersionRequired: word; var WSData: TWSAData): Integer;export;
begin
result:=WSAStartup1(wVersionRequired, WSData);
end;//------------------------------------------------
exports WSAStartup name 'WSAStartup',
WSACleanup name 'WSACleanup'; .................
exports
aa name 'bb' (此处bb名称和b.dll中的bb函数名相同)
时,外部应用程序用动态调用a.dll中的aa(bb)函数时就能调用,用静态调用就不行,为什么?