如果拥有 Visual Basic 的专业版或企业版,既可以将代码编译成标准的 Visual Basic 伪代码格式,也可以编译成本机代码格式。本机代码编译提供了伪代码编译所没有的关于优化和调试的几个选项。
P-code 或伪代码,是介于 Basic 程序中的高级指令和计算机处理器执行的低级本机代码之间的一种中间步骤。在运行时刻,Visual Basic 将每一句伪代码转换成本机代码。如果将程序直接编译成本机代码,则取消了伪代码这一中间步骤。
可以使用象在 Visual C++ 中提供的调试环境之类的标准的本机代码调试工具来调试编译后的本机代码。也可以使用例如在 Visual C++ 的语言中提供的优化和调试本机代码的选项。例如,可以根据代码运行速度和大小优化代码。
注意 所有用 Visual Basic 创建的工程都使用运行时 DLL (MSVBVM60.DLL) 服务。在 DLL 所提供的服务当中有您应用程序的启动和关闭代码、窗体和内部控件的功能,以及像 Format 和 CLng 的运行时函数。
用“本机代码”选项来编译工程意味着您写的代码将完整地编译为处理器芯片的本地指令,而不是编译为p-code。这将大大加速循环和数学计算,并可以加速对 MSVBVM60.DLL提供的服务程序的调用。然而,这并不能减少对 DLL 的需要。
要将工程编译成本机代码,请按照以下步骤执行:
图 8.6 在“工程属性”对话框中的“编译”选项卡
Visual Basic 提供几个选项用于定制和优化可执行文件。例如,当希望创建以代码大小为优化目标的编译代码时,可选择“小代码优化”选项。
如使用附加的高级优化选项,单击“高级优化”按钮。
下表描述本机代码优化选项。
选项 | 描述 |
禁止别名引用(高级优化) | 通知编译器应用程序不使用别名引用。选择本选项将允许编译器实施优化,如将变量存储在寄存器中并且实现循环优化。 |
创建 Symbolic Debug Info | 产生 .pdb 文件和 .exe 或 .dll 文件,其中包含允许用 Microsoft Visual C++ 5.0 或其它兼容调试器进行调试的信息。 |
支持 Pentium Pro(tm) | 优化代码,使其支持在 Pentium Pro(tm) 处理器上运行。 |
不优化 | 取消所有的优化。 |
快速代码优化 | 通知编译器侧重于运行速度而非代码大小进行优化,使 .exe 和 .dll 文件的速度达到最快。 |
小代码优化 | 通知编译器侧重于代码大小而非运行速度进行优化,使 .exe 和 .dll 文件的大小达到最小。 |
取消数组边界检查(高级优化) | 禁用 Visual Basic 的数组边界检查。 |
取消浮点数错误检查(高级优化) | 禁用 Visual Basic 的浮点数错误检查。 |
取消整数溢出检查(高级优化) | 禁用 Visual Basic 的整数溢出检查。 |
取消 Pentium(tm) FDIV 安全性检查(高级优化) | 禁用对 Pentium(tm) 处理器浮点数除法的安全检查。 |
详细信息 关于本机代码选项的详细信息,请参阅“本机代码编译器开关”。