日期:2014-05-17  浏览次数:20881 次

C#调用C++的机制是什么?--在线等
我在C#和C++方面都不是太懂

老师作业要求是C++的系统和Java的系统用CORBA相互通信,我想用C#作界面部分,底层用C++与java交互

想问的是C#怎么调用C++DLL?是调用其代码,然后生成C#自己的对象,还是把C++生成的对象转化成C#的对象?

谁能解释一下?拜谢拜谢!

------解决方案--------------------
探讨
谢谢楼上几位

除了连接,有没有明确的答案?C# 是调用C++代码,然后生成C#自己的对象,还是把C++生成的对象转化成C#的对象?

------解决方案--------------------
你的问题可以使用平台调用(P/Invoke)或者C++ Interop技术实现。

如果你想系统学习如何进行数据封送,我推荐你阅读刚刚出版的新书:《精通.NET互操作P/Invoke,C++Interop和COM Interop》,这本书的第2章“数据封送”详细介绍了平台调用中的数据封送过程,非常详细,我就是读完后才搞清楚平台调用中的封送处理。 


该书的官方网站: 
www.interop123.com 

豆瓣网信息: 
http://www.douban.com/subject/3671497/
------解决方案--------------------
如果C++也是LZ自己写的话...
LZ可以去看下C++/CLI的扩充语法.
这样做出来的dll可以被VS直接导入在C#中用.
就和你用基本库的用法差不多.