在阅读了一些关于托管和非托管代码的资料后,我意识到在托管编译器中生成任何机器都能理解的 IL。我们需要做的只是在任何其他机器上部署程序集,CLR 会帮助它正确运行。
但是,我还了解到 VC++ 不支持 CLR 及其非托管代码。但是我们可以在任何机器上运行 VC++ 二进制文件而无需任何修改。它不需要与我们构建 exe 的机器具有相同的配置。
请澄清什么是非托管代码和托管代码?如果非托管代码不应在任何其他配置略有不同(如不同的主板、芯片组等)的机器上运行...VC++ 二进制文件如何在那里运行?
最佳答案
您不能在任何机器上运行未经任何修改的 VC++ 二进制文件。您只能在 Windows 机器上运行它,甚至不能在任何机器上运行它。例如,当前的 VC++ 64 位可执行文件将无法在较旧的 Win 95 下运行。
托管代码是转换为 IL 的代码,在运行时由 CLR 解释。非托管代码是转换为 native 机器代码的代码,由 CPU 直接运行。
关于c# - VC++属于托管类还是非托管类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10137648/