按照缺省规定,Visual Basic 将应用程序编译成可运行的解释型或 P-code 程序。运行时,动态链接库 (DLL) 将翻译或解释执行程序中的指令。Visual Basic 专业版和企业版还可将程序编译成 .exe 本机代码。在许多情况中,运行本机代码比运行解释型代码本质上要快得多。但事情并非总是这样。以下是一些有关本机代码编译的一般指南:
注意,调用一次对象、DLL 或 Visual Basic for Applications 运行函数,都会消弱本机代码性能上的优点。这是因为执行代码所花时间相对地少,而大量时间(常常达到 90-95%)花在窗体、数据对象、Windows DLL,或 Visual Basic for Applications 运行库,以及处理内部字符串和变量上。
实际测试中,典型情况是客户应用程序总的执行时间有 5% 用于执行 P-code。因此,如果本机代码是瞬时执行的,则在这些程序中用本机代码也只能改进性能最高达 5%。
本机代码的目的是可让程序员用 Basic 编写一小片代码或有大量计算的算法。这些,由于性能问题,在以前是决不可能的。使用这些运行非常快的“小片”,也能改善应用程序特定部分的响应,从而改进了整个应用程序的感觉性能。
详细信息 关于本机代码的编译的详细信息,请参阅“再论编程”的“将工程编译成本地代码”。