现在有一段C++代码(.h文件,其中定义了些结构体,c++文件),我现在想在c#中调用这些在c++中定义的结构体。不知道怎么办?
我以 C#调用 C++ DLL,COM等查google.得到的都是去调用其中的函数(方法)的,有的是带返回值的有的不是。可是如果我想在C#中使用C++中的这样的结构体。有没有什么办法呢?可不可以不重写C++的代码。
在C++里面只要引用一下头文件就可以直接使用了。
但你在C#里则必须在C#里重新定义一次。当然这涉及到一些attribute。比如C++结构里的数组,字符串等类型怎么样转换为等效的C#的定义等等。
应该不可以的,只能是代用dll中的函数吧
不能调用的,(好像可以通过一个命令把C++的DLL转成类似托管的可以调用,不记得了),你可以自己在C#代码中重新定义这个结果,但是定义的结果一般要自己申明结构的内存布局。