从优秀的Detour库中查看demo source:
implementation
{$R *.dfm}
var
TrampolineGetMemory: function(Size: NativeInt): Pointer;
cdecl = nil;
请查看cdecl = nil;
声明。在这种情况下它意味着什么?
注意 - 我已经知道cdecl
代表一个调用约定。
答案 0 :(得分:7)
这只是初始化变量的另一种方法。例如:
program Project1;
{$APPTYPE CONSOLE}
var
i : integer = 5;
begin
WriteLn(i);
ReadLn;
end.
如果将其写在一行上可能会更清楚
var
TrampolineGetMemory: function(Size: NativeInt): Pointer; cdecl = nil;
如果定义了类型,可能更好:
type
TTrampolineGetMemory = function(Size: NativeInt): Pointer; cdecl;
//...
var
TrampolineGetMemory: TTrampolineGetMemory = nil;
答案 1 :(得分:7)
TrampolineGetMemory
是一个程序性变量,初始化为nil
。
如果重写为
,则更容易看到type
TTrampolineGetMemory = function(Size: NativeInt): Pointer; cdecl;
var
TrampolineGetMemory: TTrampolineGetMemory = nil;