提一个很怪的问题关于C#调用C++的问题

现在有一段C++代码(.h文件,其中定义了些结构体,c++文件),我现在想在c#中调用这些在c++中定义的结构体。不知道怎么办?

我以 C#调用 C++ DLL,COM等查google.得到的都是去调用其中的函数(方法)的,有的是带返回值的有的不是。可是如果我想在C#中使用C++中的这样的结构体。有没有什么办法呢?可不可以不重写C++的代码。


小怪兽爱吃肉
浏览 189回答 2
2回答

繁华开满天机

在C++里面只要引用一下头文件就可以直接使用了。但你在C#里则必须在C#里重新定义一次。当然这涉及到一些attribute。比如C++结构里的数组,字符串等类型怎么样转换为等效的C#的定义等等。

收到一只叮咚

不能调用的,(好像可以通过一个命令把C++的DLL转成类似托管的可以调用,不记得了),你可以自己在C#代码中重新定义这个结果,但是定义的结果一般要自己申明结构的内存布局。
打开App,查看更多内容
随时随地看视频慕课网APP