3

我有一个旧的 Access 应用程序。前几天它崩溃了,并且在压缩和修复期间崩溃了。经过一大堆谷歌搜索,我最终要做的是反编译 MDB,然后重新编译它,它会再次运行。

所以我的问题是,反编译 MDB 有什么作用,或者就此而言,编译 MDB 有什么作用?无论哪种方式,我都可以访问该代码,并且它在 VBA 代码编辑器中显示相同。那么它只是 MS Access MDB 内部的东西吗?

4

1 回答 1

1

VBA 被编译为intermediate language(如果我没记错的话,它被称为P-code)。你看不到它。它嵌入到文件中。

当您将 MS-Access 数据库保存为 .mde 或 .accde 时,文件中仅存在已编译的版本。没有您可以看到的代码。

AFAIK:

您的代码几乎没有状态。您的干净文本代码,它会自动编译为我们称之为op-code编译为Packed code. 当它运行时,它使用 VM JIT 将其即时编译为机器代码。

当您的代码被编译并且您对源代码进行更改时,您会在运行应用程序时失去编译状态,然后它以debug自动编译的操作码模式运行,直到您再次编译它。

于 2013-04-03T18:11:51.883 回答