DelphiXE10.2.3 for Linux开发(二)
windows下装载动态库时一般使用LoadLibrary和GetProcAddress来装载动态库和获取动态库指定导出函数的地址,在DelphiXe10.2.X for Linux下也能使用这两个函数来装载 SO 动态库,重点要注意Handle是HMODULE类型,不能用cardinal类型,虽然Windows下LoadLibrary和GetProcAddress都是可以使用cardin
windows下装载动态库时一般使用LoadLibrary和GetProcAddress来装载动态库和获取动态库指定导出函数的地址,在DelphiXe10.2.X for Linux下也能使用这两个函数来装载 SO 动态库,重点要注意Handle是HMODULE类型,不能用cardinal类型,虽然Windows下LoadLibrary和GetProcAddress都是可以使用cardinal类型,但Linux要使用THandle类型(也就是HMODULE类型)。
方法如下:
type
TGetSum = function(A: integer; B: integer): integer; stdcall;
var
i:integer;
FHandle: HMODULE;
GetSum : TGetSum ;
begin
FHandle := LoadLibrary(PChar(FilePath + 'libLinuxDLL.so'));
if FHandle <> 0 then begin
GetSum := TGetSum (GetProcAddress(FHandle,
pchar('GetSum ')));
if @GetSum <>nil then
i:=GetSum(3,3);
end;
end;
更多推荐
所有评论(0)