VB6.0算不算编译语言?
为什么计算机二级的公共知识里面说VB6.0属于解释性语言呢?VB不是明明可以编译成EXE独立运行吗?为什么还说他是解释语言呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
为什么计算机二级的公共知识里面说VB6.0属于解释性语言呢?VB不是明明可以编译成EXE独立运行吗?为什么还说他是解释语言呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
因为VB6的编译并不是真的编译成机器指令,而是生成了P-Code。这属于中间代码。真正执行的时候会解释执行的。
解释器是msvb60.dll。生成的EXE会加载解释器的。
补充:VB6也可以选择生成本机代码,即机器代码,不过也需要msvb60.dll运行。而且有些时候有Bug(比如浮点数处理),可能导致执行结果不一致。
编译+解释型语言
VB6的编译可以选择 编译成机器指令 或是 生成P-Code。
VB6同时支持 编译 和 解释 两种执行方式。甚至有些特殊情况,在解释执行时没问题,而在编译为机器码后却出错。因为编译后脱离了解释器的运行空间。