C#调用C写的DLL的相关问题...

gdgzboy 2007-02-06 02:49:42
我现在手头上有3份DLL,和对应的.LIB,.H文件...(开源的项目,非盗用)

问题是这样的,如果直接用C#来调用DLL的话,需要重写大量的结构体(好象是要吧)...

某位高人提示我说用COM重新把DLL封装,提供给C#使用...

但是我对COM不熟悉,能不能提供相关的范例,或者意见呢?

这几份dll来自ffmpeg(http://www.chinavideo.org/index.php?option=com_remository&Itemid=0&func=download&id=68&chk=50e2111e68e2a02aca4fbb54540ab8b4)的SDK版本...

有人可以帮忙做个范例吗?

我使用的是VS 2005...
...全文
345 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzj1216000 2010-08-03
  • 打赏
  • 举报
回复
我做过??去我网站BBS找吧
www.hn-qx.com/bbs
AI风 2007-05-24
  • 打赏
  • 举报
回复
其实使用COM包装很简单,我经常干这事
对COM不清楚没有关心,你使用VS2005的新建项目中的Visual C++下面的ATL项目模板,在右边选择“ATL项目”。之后的步骤可以去查MSDN。
这样你就生成了一个COM工程。之后定义好COM接口,就可以编程了,把你的DLL封装一下。
(但是定义COM接口也不是很容易的,因为接口参数的类型要受到限制的^^)

完成后,编译工程,注册COM。如果要让.NET调用,要为这个COM生成一个.NET的装配件。使用tlbimp这个工具就可以生成这种dll了。

接下来就简单了,只要在.NET工程中引用这个dll,就会自动的生成你可以使用的C#类了,与你使用其它的类没有任何的区别
客易学 2007-05-24
  • 打赏
  • 举报
回复
我帮你顶
gdgzboy 2007-02-06
  • 打赏
  • 举报
回复
救命救命...有高手帮忙吗?
gdgzboy 2007-02-06
  • 打赏
  • 举报
回复
自己顶一下啊...没人吗?
gdgzboy 2007-02-06
  • 打赏
  • 举报
回复
T一脚,急求啊...这问题困扰多日啊...

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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