2017-02-21 47 views
0
uses 
    SysUtils, 
    Classes; 

{$R *.res} 
function add(Value1:integer;value2:integer):integer;stdcall; 
begin 
    Result:=Value1+value2; 
end; 

function subtract(Value1:integer;value2:integer):integer;stdcall; 
begin 
    Result:=Value2-value1; 
end; 

function multiply(Value1:integer;value2:integer):integer;stdcall; 
begin 
    Result:=Value1*value2; 
end; 

function divide(Value1:integer;value2:integer):integer;stdcall; 
begin 
    Result:=Value2 div value1; 
end; 

function check(Value1:integer;value2:integer):Boolean;stdcall; 
begin 
    if(Value2>value1)then 
    Result:=True 
    else 
    Result:=False; 
end; 

exports add,subtract,multiply,divide,check; 

這是我的dll代碼。即使我給出口它的作品。我可否知道這兩個關鍵詞的用法之間的區別。請給我差異使用導出和stdcall關鍵字在Dll中使用delphi7導出函數

回答

4

export關鍵字是來自16位版本的遺留。 Delphi在現代版本中被忽略。不要將其與exports指令混淆,該指令用於指定從庫中導出哪些函數,以及在代碼中正確使用哪些函數。

exportstdcall作爲調用約定指令進行比較沒有多大意義,因爲它們不能直接進行比較。

+0

感謝您的回答。它幫助我找到差異。 –

+0

然後你應該接受答案 – Remko