ASP中处理#include
ASP中处理#include
在ASP中处理#include 文件与用编译高级编程语言,如C/C++处理包含文件,这两种方法之间有两个主要区别。
第一,ASP不从最终形成的ASP文件中移走那些未涉及到的信息。这是因为ASP独立于脚本引擎,不过多地进行代码
分析。大体说来,如果遇到了ASP文件的基本语法请求,信息就被缓存(假定缓冲器是打开的)并被发送到适当
的脚本引擎,进行进一步的分解、标记及执行。
除了这个“死码”问题,ASP包含文件与编译语言之间的另一个区别在于:每个ASP文件都可以被看作它自己
的程序。只要一个页面不包含另一个,在ASP的意义上看来它们就没有关系,尽管二者对整个站点的运行都很
关键。因此,被两个不同页面所共享的一个#include 文件必须要被两个文件都完全包含。从本质上说,ASP不具
备许多高级语言所具备的连接器的优势,连接器可以用来避免包含文件中代码和数据的冗余。
如果把我所概括的ASP包含文件的问题组合起来,结论就是:它对一个大型站点的内存将是破坏性的。想象
一下这种情况:一个包含文件中包含了可能要用到的所有共享程序。按照这种设计,导致的结果是所有的ASP页
都必须包含这一关键的文件。如果EverythingButTheKitchenSink.inc 经过分解之后与ASP文件的平均长度相同,
那么被ASP分配并为缓存的ASP文件使用的内存中的一半都充满了本来多余没用的信息。813
新闻热点
疑难解答