Nic*_*pat 8 .net c++ mixed-mode c++-cli .net-core
我有一个使用C++/CLI项目的代码库,它通过瘦包装类将C++类公开给CLR.例如...
C++项目中的C++代码
class Foo {
public Foo(bool wat) { /* do the things */ }
};
Run Code Online (Sandbox Code Playgroud)
混合模式程序集中的C++/CLI代码(C++/CLI项目)
public ref class ManagedFoo {
Foo * foo;
public:
ManagedFoo (bool wat) { foo = new Foo(wat); }
!ManagedFoo () { delete foo; }
~ManagedFoo () { this->!ManagedFoo (); }
};
Run Code Online (Sandbox Code Playgroud)
据我所知,混合模式程序集几乎只能在Windows .NET上运行.我希望我不需要重新考虑组件和使用P/Invoke,这将给我跨平台支持.
有谁知道.NET Core是否支持混合模式程序集?其他想法是受欢迎的.
C++/CLI上下文中的非托管代码始终是特定于平台的,并针对特定操作系统(Windows)和特定CPU体系结构(x86/x64)进行编译.C++/CLI中的非托管代码最终与使用C++编译器编译的实际C++代码非常相似.由于混合模式程序集可以包含本机代码,因此它们绑定到特定的OS和CPU体系结构.