是Visual Basic 2010的编译语言还是解释语言?可以拆解vb程序吗?
答案 0 :(得分:15)
答案 1 :(得分:2)
两者都有点。它被编译成IL,然后在运行时“及时编译”(JITed)到机器代码中。
答案 2 :(得分:2)
取决于执行环境。但它通常是编译的。两次,首先从源代码到IL(中间语言)。再次在运行时从IL到机器代码由即时编译器。除了使用IL解释器的.NET Micro Framework之外。中间形式允许相当不错的反编译,Reflector是最好的工具。
答案 3 :(得分:0)
这是两者的混合。它被编译为CIL(通用中间语言:http://en.wikipedia.org/wiki/Common_Intermediate_Language)。这个CIL是由CLR(公共语言运行时)编译成本机代码的JIT(及时)。
由于CIL代码保持完整,因此将CIL反编译为C#,VB .NET或其他.NET变体是相当简单的。有几种产品可以做到这一点(Reflector,dotPeek)。为了防止源代码被盗,您可以使用混淆器(例如Dotfuscator)来确保将CIL反编译为C#/ VB .NET的任何尝试都会导致乱码。
答案 4 :(得分:0)
这很复杂。
与Java一样,.Net语言(包括C#和VB)都被编译成类似字节码的语言IL(Intermediate Language)。然后将此IL分发给其他计算机。
然而,它并不止于此。在实际执行之前,IL由JIT(即时)编译器编译为本机代码。是的,像所有语言一样,vb可以被反汇编。