编程学习biancheng.45soft.com 本站提供了各种在线教程和资料,供大家学习与参考.
编程学习
当前位置: 主页 > Perl > 内部和外部 >

Perl 内部和外部


就像我们在第十八章讨论过的那样,perl(该程序本身)包含一个编译器和一个解释器,用于Perl(这门语言)写的程序。Perl编译器/解释器本身是用C写的。在这一章里,我们将从试图扩展或者嵌入Perl的角度出发,给你勾画一下这个C程
序是如何运转的。在扩展(extend) Perl时,实际上你是把一块C程序(我们叫扩展,extension)置于Perl的控制之下,嵌入Perl时,实际上你是把一个Perl解释器(注1)置于一个大C程序的控制之下。


我们在这里提供的简短的描述不能取代Perl内部的联机文档:看看perlguts,perlxs,perlxstut,perlcall,perlapi和h2xs的文档,它们都和Perl捆绑在一起发布。同样,除非想扩展或者想嵌入使用Perl,否则你永远用不着这里的东西。


我们首先需要知道一些Perl内部的知识。为了了解随后的大部分内容,还要懂C。还需要一个C编译器运行那些例子。如果最终目的是提供一个可以给其他人使用的模块,那么他们也需要一个C编译器。这里的许多例子只能在类Unix系统上运行。哦,还有就是这些材料可能在将来的Perl版本里面会改变。


注1:尽管我们在概念区别很重要的时候非常注意区分编译器和解释器的不同,不过我们还是觉得老说“编译器/解释器”特无聊,所以我们通常只是把它简称为“解释器”,相应指代作用相当于一个perl(程序)实例的整块C代码和函数;如果你是在做嵌入Perl的工作,那你可能有解释器的多个实例,不过每一个的行为都像一个小perl。换句话来说,恐龙在此。

Perl
Perl 内部和外部