S
SS2000
Unregistered / Unconfirmed
GUEST, unregistred user!
to creation-zy:
你说的没有错,Delphi的传值方式确实容易让人混淆,我也吃过亏,被整惨了。
不过,我想主要是我们太熟悉C++造成的,不能完全怪Delphi,如果一个不会C++
的直接人学习Delphi,我想会好得多。对于你的以下代码
> mov edx,PBuf
> mov eax,PSrcBuf
> mov ecx,len
> call move
我想有几个问题
1。看你的程序的人必须会使用汇编,否则看不懂
2。必须知道Delphi的参数传递的顺序以及是使用的的什么寄存器
3。如果Delphi编译器升级后改变了参数传递的方法或寄存器,你的代码就必须重写,也就是说
可移植性差
你说的没有错,Delphi的传值方式确实容易让人混淆,我也吃过亏,被整惨了。
不过,我想主要是我们太熟悉C++造成的,不能完全怪Delphi,如果一个不会C++
的直接人学习Delphi,我想会好得多。对于你的以下代码
> mov edx,PBuf
> mov eax,PSrcBuf
> mov ecx,len
> call move
我想有几个问题
1。看你的程序的人必须会使用汇编,否则看不懂
2。必须知道Delphi的参数传递的顺序以及是使用的的什么寄存器
3。如果Delphi编译器升级后改变了参数传递的方法或寄存器,你的代码就必须重写,也就是说
可移植性差