C#中的类是否能调用C++中的类,或者继承?

追_逐 2014-03-18 06:20:13
能否在C#中调用C++的类。

或者在C#中继承C++中的类?

C#中]没有指针,当遇到C++中的指针是否有解决办法?
...全文
304 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2014-03-20
  • 打赏
  • 举报
回复
C#DllImport 是用来调用非托管代码的,不过类就不行了。 C++类要想在C#中可用, 1)是让MS帮忙,让.net 平台也支持你定义的类(可能性不大哦) 2)楼上说的是托管代码, 3)楼上说的Com 不知道可以不, 4)可以在C#中另外封装
追_逐 2014-03-20
  • 打赏
  • 举报
回复
找到了一些资料,我不清楚是做成的托管C++ 还是非托管C++, 不过我最后把C++代码生成一个DLL 在C#中调用。不过C++中的类还是没能在C#中继承,我看了那些资料,似乎无法将C++中的类,在C#中继承,就算是托管C++ 也无法将C++中的类在C#中调用,最终的结果也都是全部封装成了函数写进DLL中,在C#中导入DLL调用 函数而以。
lyramilk 2014-03-19
  • 打赏
  • 举报
回复
如果这样的话,c++的代码也要编译成.NET字节码才可以。如果你能接受,可以查查“托管C++”和"C++/CLI"。直接百度C++/CLI相信你会很快找到自己需要的资料。C#没有指针,所以在C++/CLI中最好不要出现指针,指针只能使用整数替代并且掉不了指针的成员,但是相信我这完全不是问题,把你的类整理好就根本不需要指针了。。
追_逐 2014-03-19
  • 打赏
  • 举报
回复
引用 4 楼 u013432522 的回复:
有两种类型C++: managed和native, 如果你的C++已经是managed的话,编译成dll(不用做成com),然后可以被C#直接调用了,如果是native的话,稍微麻烦一点,可以先用managed C++封装(managed C++可以之接调用native C++),然后C#去调用managed C++。
什么是managed C++ 和native C++?
zideqiler 2014-03-19
  • 打赏
  • 举报
回复
managed C++ ==> 托管C++ native C++ ==>非托管C++ http://www.yeeyan.org/articles/view/maguschen/23927 在网上你同样可以搜到很多关于C# 调用非托管C++代码的例子.
zideqiler 2014-03-18
  • 打赏
  • 举报
回复
有两种类型C++: managed和native, 如果你的C++已经是managed的话,编译成dll(不用做成com),然后可以被C#直接调用了,如果是native的话,稍微麻烦一点,可以先用managed C++封装(managed C++可以之接调用native C++),然后C#去调用managed C++。
spaceman10 2014-03-18
  • 打赏
  • 举报
回复
当然可以啊,调用dll,com组件啥的,都是二进制的了。
追_逐 2014-03-18
  • 打赏
  • 举报
回复
引用 1 楼 lile1234_show 的回复:
google c# c++ 比我们说的全面。
那意思是可以?
lee_鹿游原 2014-03-18
  • 打赏
  • 举报
回复
google c# c++ 比我们说的全面。

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧