首页 新闻 搜索 专区 学院

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

0
[已解决问题] 解决于 2009-01-04 18:23

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

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

二十二号同学的主页 二十二号同学 | 小虾三级 | 园豆:790
提问于:2008-12-24 11:31
< >
分享
最佳答案
0

在C++里面只要引用一下头文件就可以直接使用了。

但你在C#里则必须在C#里重新定义一次。当然这涉及到一些attribute。比如C++结构里的数组,字符串等类型怎么样转换为等效的C#的定义等等。

hoodlum1980 | 小虾三级 |园豆:543 | 2008-12-24 16:06
其他回答(2)
0

应该不可以的,只能是代用dll中的函数吧

GUO Xingwang | 园豆:3885 (老鸟四级) | 2008-12-24 12:15
0

不能调用的,(好像可以通过一个命令把C++的DLL转成类似托管的可以调用,不记得了),你可以自己在C#代码中重新定义这个结果,但是定义的结果一般要自己申明结构的内存布局。

Birdshover | 园豆:352 (菜鸟二级) | 2008-12-24 13:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册