2

也许这可能是一个愚蠢的问题,但我无法弄清楚。我知道托管代码和非托管代码之间的区别,但我已经获得了 C++.NET 解决方案,但我无法确定 C++ 项目是托管还是非托管。

我实际上不认为它是管理的。

查看属性,我可以配置 MFC 的使用(=使用标准 Windows 库)、ATL 的使用、配置类型(动态库)......

该程序集实际上是一个非托管 C 代码 (lib) 的包装,其中一个 cpp 将 C 函数导出到 C# 托管代码。

4

2 回答 2

4

查看项目属性对话框的配置属性节点。在该部分中有一个名为Common Language Runtime Support的项目。非托管项目将具有值No Common Language Runtime Support,否则该项目是托管的。

此设置对应于/clr编译器选项。

于 2013-11-04T15:04:40.200 回答
4

“托管”C++ 项目实际上是使用 .NET公共语言运行时 (CLR)的C++/CLI项目。这在 Visual Studio 中用编译开关中的 a 表示。/clr

有关详细信息,请参阅MSDN 上的/clr(公共语言运行时编译)

另请注意,Microsoft 通知您“甚至可以在同一文件中逐个功能地在托管和非托管编译之间做出决定”。有关更多详细信息,请参阅MSDN 上的混合(本机和托管)程序集。

于 2013-11-04T15:06:18.223 回答