VC++ 属于托管或非托管类别
VC++ belongs to Managed or unmanaged category?
在阅读了一些关于托管和非托管代码的内容后,我意识到在托管编译器中生成IL,任何机器都可以理解。 我们需要做的就是在任何其他机器上部署程序集,CLR 有助于正确运行它。
但是,我也读到VC++不支持CLR及其非托管代码。但是我们可以在任何机器上运行 VC++ 二进制文件,而无需进行任何修改。它不需要与我们构建 exe 的机器具有相同的配置。
请澄清非托管和托管代码到底是什么?,如果非托管代码不应该在任何其他配置几乎没有不同(如不同的主板、芯片组等)的机器上运行......VC++ 二进制文件如何在那里运行?
未经任何修改,无法在任何计算机上运行 VC++ 二进制文件。您只能在Windows机器上运行它,甚至不能在Windows机器上运行它。例如,当前的 VC++ 64 位可执行文件将无法在较旧的 Win 95 下运行。
托管代码是转换为 IL 的代码,由 CLR 在运行时解释。非托管代码是转换为本机机器代码的代码,由 CPU 直接运行。
通常 VC++ 会生成非托管二进制文件。它们可以在所有Windows计算机上运行(可能使用c ++-redist包)。
若要使用 c++ 创建托管 (.NET) 应用程序,需要使用 C++/CLI。
在这种情况下,托管代码是 .NET,非托管代码是本机二进制文件。
若要运行非托管二进制文件,需要计算机上的依赖库,若要运行托管代码,需要 .NET Framework。
Visual C++不是一种语言,它是微软的一个IDE,它带有一个编译器和一组库。可以使用此编译器生成托管代码或非托管代码。对于非托管代码,它将生成一个 exe(或 dll 或其他二进制文件),其格式为 Windows 可以理解。操作系统(在本例中为 Windows)会从您那里抽象出所有其他细节,例如处理器、主板等。
- 异常属于C++中的线程还是进程
- 为什么我不能将一个对象push_back到属于另一个类的对象向量中?
- 参考资源文件VC++中的$(SolutionDir)
- VC++本机单元测试,找不到调试符号
- 如果我已经有一个头,那么模板(-t)文件属于哪里
- 在这里,当我们比较 if(vc[i]==vc1[i]) 时,它是向量数组. 实际上比较的值是多少,
- VS2015 中的 VC++ 目录
- VS2015/VC++ 在新类模板中禁用默认 #include "stdafx.h"
- Qt C++ 如何在 1 个命令中砍掉属于 QStringList 成员的 QString 字母
- 获取"rw_ssid"中成员"长度"的错误请求,该成员属于非类类型"char*"
- 从不属于应用程序的闪存读取
- 在 for 循环中定义的临时数组,并分配给属于指针数组的指针
- 如何解释 #if/#else 位域?(VC++菜鸟)
- 双线程应用比单线程应用慢 C++ (VC++ 2010 Express).如何解决?
- 隐式可转换参数,但属于引用类型
- 使用线程 C# 中的 VC++ 6.0 COM DLL
- wcscpy 在 g++ 和 vc++ 中的不同行为
- STL 向量无缘无故损坏,VC++ 2017
- VC++ wcscpy_s随机断言"Buffer is too small"
- VC++ 属于托管或非托管类别