当前位置:编程学习 > C#/ASP.NET >>

c#如何与非托管c++代码互通

如题。
c++代码不能写成托管的;想实现c#直接访问c++的类,c++也能直接回调c#提供的接口类。
相反的方向也是可以的。
请问如何实现? C# C++ 类 --------------------编程问答-------------------- 发布成dll,或者写成服务 --------------------编程问答-------------------- c#通过添加声明可以直接调用非托管代码 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- ===>c#通过添加声明可以直接调用非托管代码
如何添加?有例子不? --------------------编程问答-------------------- ====>发布成dll,或者写成服务
把c++写成dll?
那么回调c#的接口怎么办? --------------------编程问答-------------------- <dllImport> --------------------编程问答-------------------- 除 --------------------编程问答-------------------- thanks --------------------编程问答-------------------- 还有人帮忙回答吗? --------------------编程问答-------------------- --------------------编程问答-------------------- C#调用 C++dll :http://blog.csdn.net/hopeinheart/article/details/9061149 --------------------编程问答-------------------- 这个是非常繁琐的。
首先native c++类要写成 class __declspec(dllexport) CSimpleClass 这种表示从dll导出。
然后用dumpbin看导出的函数名字都是??0CSimpleClass@@QAE@ABV0@@Z像这样的mangled name。
然后c++类还有一个虚指针表_vtable,c#中要用unsafe结构模拟出来才能用。
看这篇文章:
http://blogs.msdn.com/b/vcblog/archive/2008/12/08/inheriting-from-a-native-c-class-in-c.aspx --------------------编程问答-------------------- 用类库,C++/CLR类库项目里面写非托管代码,C#直接引用这个C++/CLR动态库 --------------------编程问答-------------------- 补充下,因为是CLR类型项目,C++/CLR类库项目同样也是可以对C#项目进行引用的 --------------------编程问答-------------------- 可以使用.NET 中的互操作来实现,你可以参考这本书:http://product.dangdang.com/product.aspx?product_id=20546679 --------------------编程问答-------------------- 把C++写成Dll,然后在C#中调用 --------------------编程问答-------------------- 嗯 现在一般都是以链接库 就是DLL的形式  Google  C# 调用C++dll 很成熟了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,