我需要从Delphi中的外部DLL调用函数,函数定义了调用的字节,我应该如何调用它们,在Delphi中声明它们时,它会显示它所期望的语法错误;而是得到了@
function _imp_Com@32(a1: INT64; a2: Pointer; a3: INT64; a4: Pointer;
a5: INT64; a6: Pointer; a7: Pointer; a8: INT64): INT64 cdecl stdcall;external 'imp.dll';
function _imp_Decom@56(a1_compbuf: Pointer; a2_clen: INT64;
a3_out: Pointer; a4_outlen: INT64; a5_crcflag: INT64; a5u: INT64;
a6_verb: INT64; a7_dict: Pointer; a8_dictsize: INT64; a9_cb: Pointer;
a10: INT64; a11: Pointer = 0; a12: INT64 = 0; a14: INT64 = 0)
: INT64 cdecl stdcall;external 'imp.dll';
答案 0 :(得分:6)
您无法在名称中使用它,因此您需要使用有效的标识符导入该函数。像这样:
function imp_Com(...): Int64; stdcall; external 'imp.dll' name '_imp_Com@32';
一个函数不能同时是cdecl和stdcall。不确定代码中的内容。根据名称装饰,这些功能是stdcall。