请问VB中的P-Code(P代码)到底是什么意思呢?
他和编译成本机代码(Native Code)有什么不同呢?
有些时候,发现在VB环境中运行程序不报错,但编译出来就报错,可是编译成P-Code就不报错,这是怎么回事呢?那我发布程序时都用P-Code可不可以?会不会有什么缺点和限制?

解决方案 »

  1.   

    pseudo-code 伪代码就是如果整个代码直接交给CPU处理,它是绝对看不懂的。一定要MSVBVM60.DLL来解释
      

  2.   

    //有些时候,发现在VB环境中运行程序不报错,但编译出来就报错,可是编译成P-Code就不报错,这是怎么回事呢?对,VB6的编译器里面总是要少量的BUG。我也遇到过,和操作系统也有关系。而P-Code基本上是保持了VB6源码的形式,因此很容易反编译!P-Code体积小但是因为需要额外翻译,所以运行速度慢。Native-Code就是本地代码,就是EXE内部的Code可以直接由CPU执行。但是为什么还需要MSVBVM60.DLL呢?因为许多函数本体是放在MSVBVM60.DLL里面的,需要不断地call其中的函数(譬如一些数据类型转换等)。这时候MSVBVM60.DLL就不承担解释执行的任务,只是充当一般的DLL。