我有一个非托管的 C++ exe,我可以直接从我的 C# 代码中调用它(拥有我可以创建一个库的 C++ 代码)或通过生成一个进程并从 OutputStream 获取数据。这些选项的优点/缺点是什么?
最佳答案
既然你有C++库的源代码,你可以使用C++/CLI将它编译成一个混合模式的dll,这样它就很容易被C#应用程序使用。
这样做的好处是数据流(到该 C++ 模块的输入或输出)最灵活。
在进程外运行 C++ 代码有一个好处。如果您的 C++ 代码不是很健壮,这可以使您的主 C# 进程稳定,以免被 C++ 代码崩溃。
关于c# - 从托管或生成进程调用非托管代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884787/