c# - 从托管或生成进程调用非托管代码

标签 c# .net c++ unmanaged

我有一个非托管的 C++ exe,我可以直接从我的 C# 代码中调用它(拥有我可以创建一个库的 C++ 代码)或通过生成一个进程并从 OutputStream 获取数据。这些选项的优点/缺点是什么?

最佳答案

既然你有C++库的源代码,你可以使用C++/CLI将它编译成一个混合模式的dll,这样它就很容易被C#应用程序使用。

这样做的好处是数据流(到该 C++ 模块的输入或输出)最灵活。

在进程外运行 C++ 代码有一个好处。如果您的 C++ 代码不是很健壮,这可以使您的主 C# 进程稳定,以免被 C++ 代码崩溃。

关于c# - 从托管或生成进程调用非托管代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884787/

相关文章:

c++ - 如何在 boost::interprocess 共享内存中获取命名对象列表

c# - Xamarin 禁用广播接收器

c# - List.Contains 上的索引越界

c# - 如何将 IEnumerable 列表传递给 MVC 中的 Controller ,包括复选框状态?

c# - PagedViewCollection 按列分组,而不是属性

c# - 谁能解释一下以下两个查询的区别?

.net - LINQ 到 SQL 交叉应用

.net - XSD 和自动类/消息生成

C++程序在询问数组大小后崩溃

c++ - 初始化 directX 11 时出现未处理的异常错误