什么是delphi 64位程序集中的.noframe?什么是delphi 64位程序集中的.noframe?
我看过这样的x64汇编代码。
procedure test;
{$IFDEF CPUX64}
asm
.noframe
..
..
.noframe是什么意思,为什么要关心?
什么是delphi 64位程序集中的.noframe?什么是delphi 64位程序集中的.noframe?
我看过这样的x64汇编代码。
procedure test;
{$IFDEF CPUX64}
asm
.noframe
..
..
.noframe是什么意思,为什么要关心?
从http://blogs.embarcadero.com/abauer/2011/10/10/38940
.NOFRAME
有些功能从来不给其他函数的调用。这些被称为“叶”函数,因为不会进一步“分支”到其他函数,所以就像树一样,它们代表“叶”对于像这样的函数,拥有完整的堆栈帧可能会增加额外的开销想要消除。尽管编译器确实尝试并消除了堆栈帧,但有时候它根本无法自动计算出来。如果你确定一个框架是不必要的,你可以使用这个指令作为编译器的提示。
这是这个问题的任何帮助吗?评论讨论'.noframe'并提供进一步的链接。在搜索时立即找到。 http://stackoverflow.com/questions/10695264/delphi-asm-code-incompatible-with-64bit –