||This article needs additional citations for verification. (July 2013)
P-Code, short for packed code, was a Microsoft proprietary intermediate language that provided an alternate binary format to machine code (called "native code" in relevant products) for any compiled binary (e.g. DLLs, ActiveX controls, or applications). Its primary goal was to produce smaller files. P-code output support was provided in 16-bit Visual C++ compilers and all versions of Visual Basic up to VB 6. At runtime, P-code is executed by and inside the Visual Basic virtual machine, msvbvm<version>.dll, which also provides the runtime, implementing the VB standard library and handling special metadata like forms present in such executables. Since the advent of .NET framework, P-code and the VM were abandoned in favor of Common Language Runtime and Microsoft Intermediate Language.