2013-01-23 87 views
1

我只是默认好奇,微软的C/C++优化编译器能编译成机器语言或字节码吗?微软C/C++优化编译器编译为

+5

你对“机器语言”和“字节码”的理解是什么? –

+0

很少,刚刚开始上课操作系统 –

+0

它在内部编译到中间代码。哪一个通用的代码生成器,第二阶段,然后转换为优化的机器代码。或IL。在编译器设计中很常见,代码优化器和生成器阶段是一项沉重的投资。实际上,除了它使用的DLL和临时文件之外,它们并不是非常明显,因此最容易直接考虑到机器码转换。 –

回答

5

它使用/clr开关默认编译为机器语言(微处理器操作码)或CIL

为了便于比较,C#和Visual Basic编译为CIL,Visual Basic 6可以编译为P代码(一种字节代码形式)或本机代码(机器语言)。

+0

你的来源是什么? –

+0

我的头和其他三位社区成员通过他们的赞扬达成一致。请参阅http://visualbasic.freetutes.com/learn-vb6-advanced/lesson20/p6.html。和http://msdn.microsoft.com/en-us/library/k8d11d4s.aspx。另请参阅http://msdn.microsoft.com/en-us/library/ms235639(v=vs.80).aspx和http://vb.mvps.org/hardcore/html/p-codeversusnativecode.htm。 “本机”是指机器说明。 –

+0

谢谢并不是要求你信任我,更多的是我的教授。我通常相信我在这里看到的SO –

3

它可以做到这一点。

默认情况下,它会生成本机机器码。 使用/ clr命令行选项,它将生成.NET IL字节码。

+0

+1为正确的答案 –