从优秀的Detour库中查看此演示源:
implementation
{$R *.dfm}
var
TrampolineGetMemory: function(Size: NativeInt): Pointer;
cdecl = nil;
Run Code Online (Sandbox Code Playgroud)
请看一下cdecl = nil;声明.在这种情况下它意味着什么?
注意 - 我已经知道它cdecl代表一个调用约定.
这只是初始化变量的另一种方法.例如:
program Project1;
{$APPTYPE CONSOLE}
var
i : integer = 5;
begin
WriteLn(i);
ReadLn;
end.
Run Code Online (Sandbox Code Playgroud)
如果它写在一行上可能会更清楚
var
TrampolineGetMemory: function(Size: NativeInt): Pointer; cdecl = nil;
Run Code Online (Sandbox Code Playgroud)
或者如果定义了类型,甚至可能更好:
type
TTrampolineGetMemory = function(Size: NativeInt): Pointer; cdecl;
//...
var
TrampolineGetMemory: TTrampolineGetMemory = nil;
Run Code Online (Sandbox Code Playgroud)
TrampolineGetMemory是一个初始化为的过程变量nil.
更容易看出是否重写了
type
TTrampolineGetMemory = function(Size: NativeInt): Pointer; cdecl;
var
TrampolineGetMemory: TTrampolineGetMemory = nil;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |