C#如何调用C++的函数

frankfish 2008-06-23 08:28:52
请问如何在VS2005上建立工程,主工程是C#编的dll,然后C#可以直接调用C++的类或者函数。网上很多都把C++编译成dll再调,请问有没有其他方法?我希望编译出来就一个DLL,不要既有C++的dll又是C#的dll。
...全文
114 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzultc 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 akirya 的回复:]
你的主工程改为C++/CLI就可以了。
[/Quote]
C++/CLI也不行!
.net要调用非托管的代码,以前的非托管模块不能够合成在生成后的程序中。
.net生成的都是MSIL(与机器无关),C++\C生成的DLL是可执行代码(与机器相关)。
xxoo2007 2008-06-24
  • 打赏
  • 举报
回复
C#的DLL概念是程序集 C++的DLL概念是动态链接库.虽然看起来差不多,其实不是一个东西. 共享的话建议使用WebService,不管什么代码,都可以访问.
alias0018 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 frankfish 的帖子:]
请问如何在VS2005上建立工程,主工程是C#编的dll,然后C#可以直接调用C++的类或者函数。网上很多都把C++编译成dll再调,请问有没有其他方法?我希望编译出来就一个DLL,不要既有C++的dll又是C#的dll。
[/Quote]

不知道你的C++是managed的还是unmanaged的,看样子是managed. 如果是unmanaged我觉得没有别的办法了,我们一直都是这么做的。
如果是managed,可以试着把C++工程设置为Dynamic Library
试试吧,没有验证过
frankfish 2008-06-23
  • 打赏
  • 举报
回复
能详细点吗?我现在一个是C#的类库工程 一个是C++.net的类库工程。
  • 打赏
  • 举报
回复
你的主工程改为C++/CLI就可以了。

110,570

社区成员

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

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

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