|
> No.4722[元記事へ]
Win64だとstdcallとcdeclが同じものになるので,64ビットであればcdeclで作成したものでも呼び出せるはずです。
Lazarus64ビット版でコンパイル
library Sample;
function add(a,b:Int64): Int64; cdecl;
begin
add:=a+b
end;
function sub(a,b:Int64): Int64; cdecl;
begin
sub:=a-b
end;
exports add, sub;
end.
BASICAccを64ビットでコンパイルしたものを使用
100 FUNCTION ADD(a,b)
110 ASSIGN "Sample.dll","add"
120 END FUNCTION
130
140 FUNCTION SUB(a,b)
150 ASSIGN "Sample.dll","sub"
160 END FUNCTION
170
180 PRINT ADD(5,-4),SUB(4,7)
190 END
DLLはBASICAccと同じディレクトリに置くか,フルパス名で指定してください。
実行結果
1 -3
|
|