| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1371 人关注过本帖
标题:如何实现VC和C#的混合编程
只看楼主 加入收藏
仗剑天涯
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-16
结帖率:0
收藏
已结贴  问题点数:10 回复次数:3 
如何实现VC和C#的混合编程
请问高手们,如何实现界面是C#开发,底层是用VC开发,的混合编程啊!正疑惑中,请高手指点!
搜索更多相关主题的帖子: 编程 
2010-10-31 15:40
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:3 
哈哈,为什么这样做哪?!完全可以只用一种语言吗?!
2010-10-31 21:08
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:3 
把VC编译成动态链接库,用C#调用嘛。
2010-11-01 08:47
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:3 
首先说明下环境 c# vc 要确定是c#调用c++库函数 还是反之
如果是c#调用c++库函数,C++建立一个非托管类库项目,C#项目引用就可以了

C++类库中导出函数的声明如下:
extern "C" __declspec(dllexport) int* Detect(char* data,int width,int height);需要注意的是:
要使用extern "C" 标明,否则C#调用时会找不到方法名;其次要使用__declspec(dllexport)标明为导出函数。

C#调用时,首先需要声明外部方法的签名,如下:
[DllImport("DetectDll.dll", CallingConvention = CallingConvention.Winapi)]
......都很熟悉我就不多说了

最后调用非托管代码需要使用unsafe关键字




出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-11-01 08:48
快速回复:如何实现VC和C#的混合编程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024369 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved