解释的运行方式中最常见的式Basic... ...其实,解释程序就是一个字符串的解释器。 ========================================= 很多脚本语言,比如大名鼎鼎的Perl,Python等等都是解释执行的。这些脚本语言的语义十分丰富,像Perl,Python都支持面向对象的编程,因此,这些脚本的解释程序本身十分复杂,编译原理的各个方面几乎都会涉及到,远远不是什么字符串的解释器可以比拟的。 许多书中没有说为什么参数从右向左传递... ...从而便于汇编和调试。 下面摘自VC提供的代码,va_xxx是可变参数编程的几个重要的宏。 #define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) 我们可以看到,所谓可变,其实就是利用va_arg每次从栈中取出适当的字节数拼成所需要的参数。如果参数从右往左入栈,那么利用ebp可以顺利的依序取出第一个,第二个...第n个参数,否则,就没法用直接的简单的方法取到第一个参数了,原因是利用ebp只能直接定位到最后一个入栈的参数,而函数参数的个数未知,因此第一个参数在栈中的位置就不太容易定位了。当然,这不是绝对的,用些辅助的方法也可以做到,但是就不如让参数从右向左进栈实现起来轻松简单了。 |
正在阅读:《编程高手箴言》读后(4)《编程高手箴言》读后(4)
2004-04-08 14:39
出处:CSDN
责任编辑:sdq
键盘也能翻页,试试“← →”键