在C#中应该不能对以前的被C++用的DLL中的函数进行调用吧,可是今天竟然发现能?

SphinxEGO 2003-10-20 04:07:24
如一函数
static int func1 ( int i , char * pChar );

返回的int竟然没有问题,而用指针返回的就没有办法了

怎么回事?
...全文
71 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
czsd 2003-10-22
  • 打赏
  • 举报
回复
当然可以拉,我前阶段还在.net里做视频采集呢,结合采集卡的sdk开发包,调用的函数就是c++写的dll里面的方法.
九天 2003-10-22
  • 打赏
  • 举报
回复
VC和VB编写的DLL和ocx都可以在C#中调用。
不过有些Dll中用到的结构或者类型需要改变或者重新定义。
巍巍清风 2003-10-22
  • 打赏
  • 举报
回复
这个家伙如果老不结帖很快就没有一点信誉了 :)
xlfancy 2003-10-22
  • 打赏
  • 举报
回复
如一函数
static int func1 ( int i , char * pChar );

返回的int竟然没有问题,而用指针返回的就没有办法了

即使是返回指针,通过Marshal也一样可以调用!


巍巍清风 2003-10-22
  • 打赏
  • 举报
回复
指针其实也就是一个32位整数,可能用IntPtr类型的变量来接收,然后把这个值指向的地址通过Marshal的方法封装成对应的类型。
himuraz 2003-10-22
  • 打赏
  • 举报
回复
同意楼上的,换汤不换药
ArLi2003 2003-10-22
  • 打赏
  • 举报
回复
呵,不能这么理解,如果.net 不能用c++ 的dll,那么所有连.net framework 自己都跑不起来,某种程度上说 API 就是 c++ dll
realsnow 2003-10-21
  • 打赏
  • 举报
回复
为什么不能呢?
不懂
oystered 2003-10-21
  • 打赏
  • 举报
回复
一定能向下兼融的
link800 2003-10-21
  • 打赏
  • 举报
回复
不可能什么都重新来过,代码重用,肯定会延续下去
joachern 2003-10-21
  • 打赏
  • 举报
回复
haha
ArLi2003 2003-10-20
  • 打赏
  • 举报
回复
因为C# 可以用 api 所以也可以用C++ 的DLL

这种理解最简单
honghaozi 2003-10-20
  • 打赏
  • 举报
回复
"在C#中应该不能对以前的被C++用的DLL中的函数进行调用吧"
呵呵,一个新语言如果不能用以前的东西,会有多少人用?
SphinxEGO 2003-10-20
  • 打赏
  • 举报
回复
我糊涂了,用BYTE就可以了。。。。。。
SphinxEGO 2003-10-20
  • 打赏
  • 举报
回复
恩,明白了
shajie 2003-10-20
  • 打赏
  • 举报
回复
晕了,很多书上都有写呀,.NET和COM,COM+可以互操作的
storm97 2003-10-20
  • 打赏
  • 举报
回复
本来就是可以调用的,使你自己搞错了!
DLLImport就是作这个用的。

110,533

社区成员

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

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

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