我想询问您如何从C++ .dll
拨打C#
并使用C#
处理/分享结果的指导。
假设我有一个电话,例如processFile
,它返回一个名为ResultDetails
的结构。如果我使用C#
并且最好CMake
,我如何在mingw-gcc
中共享/使用此对象。
(可能我无法按原样分享对象,但是有可能以某种方式将其序列化为C#
兼容格式并在C#中进行预期。(我不希望序列化结果JSON
将其写入文件并从C#.
))
示例c ++标题
ResultDetails* processFile(char *filePath);
struct ResultDetails {
std::vector<std:Exception> exceptions;
Geometry geometry;
std::vector<Surfaces> surfaces;
}
任何想法都表示赞赏, 感谢您的时间和耐心
答案 0 :(得分:0)
实际上,它看起来像.NET一样。如果您将库转换为CLR项目(即将其编译为混合程序集),您可以轻松地(或多或少)将您的结构包装在.NET中,而这反过来将可用于任何使用它的C#客户端。
我想你可以从这里开始:https://docs.microsoft.com/en-us/cpp/dotnet/mixed-native-and-managed-assemblies