2017-02-21 1 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, которая используется для указания, какие функции экспортируются из библиотеки и которые вы используете правильно в представленном коде.

Не имеет смысла сравнивать export с директивой вызывающего соглашения с stdcall, поскольку они не могут быть непосредственно сопоставимы.

+0

Спасибо за ваш ответ. Это помогло мне найти разницу. –

+0

Затем вы должны принять ответ – Remko

Смежные вопросы