请问PASCAL与C的函数处理有何不同?(70分)

N

NEDVED

Unregistered / Unconfirmed
GUEST, unregistred user!
我知道PASCAL和C对函数的压栈方式不同,PASCAL对函数的压栈是从左向右,而C的函数压栈
方式是从右向左,那么两者在编译时产生的代码有何不同?好象C在编译时要比PASCAL多生
成两条指令,为什么要多生成这两条指令?
 
C格式函数的参数个数可变,多生成的语句就是释放参数
Pascal格式: 参数由子函数释放,汇编语句为 ret XXXX
C格式 : 参数由父过程释放,汇编语句为 add sp,XXXX
C格式已淘汰,Windows API绝大部份为Pascal格式
 
接受答案了.
 

Similar threads

回复
0
查看
519
不得闲
S
回复
0
查看
950
SUNSTONE的Delphi笔记
S
S
回复
0
查看
774
SUNSTONE的Delphi笔记
S
顶部