C++写的DLL ,.NET 里调用DLL 里的方法报错?

zkvistor 2011-04-25 11:39:36
帖子见:http://topic.csdn.net/u/20110420/18/1e5f390d-6970-4e87-916f-bfaaf5896d81.html

小弟不懂C++,各位大侠们赐教,像其他语言 调用C++有哪些要注意的(如 asp.net 里)
...全文
109 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zkvistor 2011-05-17
  • 打赏
  • 举报
回复
结贴,最终放弃了 调用该DLL
zkvistor 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bdmh 的回复:]
自己看看zmdata.dll是不是和你的exe在同一目录,如果不在,要写上完整路径
[/Quote]

winform 里 是在一个目录

webform里 拷贝到了 项目的bin 目录下,并且system32下面也有
bdmh 2011-04-25
  • 打赏
  • 举报
回复
自己看看zmdata.dll是不是和你的exe在同一目录,如果不在,要写上完整路径
zkvistor 2011-04-25
  • 打赏
  • 举报
回复
自己顶起来。。。。。
zkvistor 2011-04-25
  • 打赏
  • 举报
回复
比如: C++中写的方法如下:
function long GetPwd(string pwd,string key,ref string outPut)

我要调用DLL 中的此方法,C++ 和C# 中关于数据类型有些不一样?C#中

[Dllimport("a.dll")]....

string output="";
public extern static long GetPwd(string pwd,string key,ref output)
是这样的吗? 查了一些资料 c++中long是 4字节 对应c#中的int(也是4字节)

另外引用C++ 以及win32的一些DLL 需不需要权限?
zkvistor 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pathuang68 的回复:]
都是DLL,但非托管的DLL调用,需要用PInvoke才可以。
去看看PInvoke (Platform Invoke)吧。
[/Quote]

我去瞅瞅
pathuang68 2011-04-25
  • 打赏
  • 举报
回复
《Professional C# 》第2版(比较早的版本了)对这个问题讲得很清楚。
这本书的后续版本,俺每怎么看,不知道内容是否有了变化。
pathuang68 2011-04-25
  • 打赏
  • 举报
回复
都是DLL,但非托管的DLL调用,需要用PInvoke才可以。
去看看PInvoke (Platform Invoke)吧。
zkvistor 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ilysony 的回复:]
可能是路径的问题
[/Quote]

求解???


要链接文件lib库 ???? 能否说详细些
jhkyy 2011-04-25
  • 打赏
  • 举报
回复
要链接文件lib库
Sou2012 2011-04-25
  • 打赏
  • 举报
回复
可能是路径的问题

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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