有人说vb和c生成的exe是有区别的,纯vb本身运行需要依赖一个dll库,而c只需要依赖他所调用到的dll。
而且在计算机二级考试中我记得答案好像是vb是编译解释语言,那请问vb究竟是什么什么类型语言?
有人说vb和c生成的exe是有区别的,纯vb本身运行需要依赖一个dll库,而c只需要依赖他所调用到的dll。
而且在计算机二级考试中我记得答案好像是vb是编译解释语言,那请问vb究竟是什么什么类型语言?
不同版本不一样
< 5
是解释语言。
>=5, <7
可编译(AOT)可解释。设置里面选择“编译为P-Code”就是解释,否则为编译。
>=7
是编译语言(JIT)。
然后大约>= 14
,引入了 .NET Native,仅仅在编译 UWP 程序时,可采用 AOT 方式编译。
编译
和解释
不冲突朴素的理解:
编译:是将文本的源代码翻译成机器指令,这个机器指令可以是面向解释器、虚拟机的(如vb,java,python),也可以是面向cpu的(如c),这是一个编译期的行为,修改了代码就需要重新编译,不改代码就无需重复执行编译过程
解释:是将文本源代码或者非CPU直接能理解的机器指令转换为CPU指令集,这是运行时的行为,每执行一次,都需要经过一次解释过程
vb是典型的编译+解释型语言, 先将文本代码编译成p-code,形成"可执行文件",运行时再由p-code解释器翻译为机器指令装载执行。计算机语言发展到今天已经不再关注编译型语言和解释型语言的概念性差异了 :)
ps: vb5/vb6/vb.net有些许区别,不作展开了,并没有完全回答你的问题,不过希望能帮助你理解