gpt4 book ai didi

delphi - Delphi和FPC中的裸64位asm函数

转载 作者:行者123 更新时间:2023-12-03 18:36:13 25 4
gpt4 key购买 nike

FPC的nostackframe和Delphi的.NOFRAME指令在64位asm函数中是否完全等效?

换句话说,下一个代码模板

procedure Naked(SomeArg: Integer);{$IFDEF FPC}nostackframe;{$ENDIF}
asm
{$IFNDEF FPC}
.NOFRAME
{$ENDIF}
..
end;


在Delphi和FPC中生成相同的裸露的64位asm函数?

最佳答案

据我所能确定的,.NOFRAME(Delphi)和nostackframe(FPC)做相同的事情,即防止生成堆栈帧。但是请注意,它们在两个编译器中生效的条件可能并不相同。

为了与源代码兼容,对于FPC也请使用{$ASMMODE INTEL}

在大多数情况下,FPC64和DCC64 asm使用相同的语法,但是在极少数情况下,内联汇编程序理解的语法存在一些差异。另请注意,非Windows x64平台使用不同的调用约定。

关于delphi - Delphi和FPC中的裸64位asm函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26492117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com