【发布时间】:2017-05-11 10:35:05
【问题描述】:
我有一段非托管的本机 C++ 代码(一个类),我想将其集成到 C# .NET 程序集中。
我(认为)我知道我有两种选择:
- 将我的本机 C++ 代码打包到非托管 DLL 中,并使用 PInvoke(DllImport 等)从 C# 代码加载和运行它;
- 使用 C++/CLI 创建一个托管包装 C++ 类,该类反过来引用我的非托管本机 C++ 类,我为此找到了一些示例。
假设我想选择选项 2 并使用 Visual Studio Express 2015 IDE GUI,而不是直接从命令行调用编译器。
我是否需要为两个 C#(项目“C#”)和 C++/CLI-C++/native(项目“C++”)部分制作两个单独的项目,然后引用(添加引用)项目的 DLL 输出文件“ C++”来自项目“C#”并静态链接? 这是唯一的方法还是可以通过为每个文件指定不同的编译器和不同的编译器选项将 C++ 源文件直接集成到项目“C#”中?
【问题讨论】:
-
长答案:是的。
标签: c# c++ visual-studio visual-studio-2015