特急!!!偶一个dll,h,lib文件,在c#里面如何用它们?

yuquan1987 2010-05-21 11:59:03
我现在有一个 dll文件,有一个xxx.lib的文件 还有个xxx.h的文件,我在我的c#项目中 直接引用dll文件失败,然后用反射也失败,后来在网上找了资料,说是要先将 xxx.lib 和xxx.h 编译成dll然后引用,我看的是一头雾水。不知道怎么用。我根本就没有安装vc等。我在装vs的时候只选装了c#的。现在我这个要怎么用 dll中的方法呢?
...全文
231 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-05-22
  • 打赏
  • 举报
回复
下载:Dll查看器,能看到里面函数的就是c++写的。
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
我没有装vc啊。我装vs的时候没装vc
skep99 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yuquan1987 的回复:]
引用 1 楼 skep99 的回复:
*.h 是C的头文件
*.lib 是C的静态链接库
*.dll 动态链接库

C#可以调用C++写的托管类,但需要你先确定那个dll到底是什么
我要如何确定dll中到底是什么呢?
[/Quote]

用VC6自带的depends看下先
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 skep99 的回复:]
*.h 是C的头文件
*.lib 是C的静态链接库
*.dll 动态链接库

C#可以调用C++写的托管类,但需要你先确定那个dll到底是什么
[/Quote]我要如何确定dll中到底是什么呢?
onthebox 2010-05-22
  • 打赏
  • 举报
回复
在编译的时候,需要把dll中的函数都“导出”来
然后在C#中[dllimport]
使用导出来的函数,还有就是函数参数和返回值的类型的转换
skep99 2010-05-22
  • 打赏
  • 举报
回复
*.h 是C的头文件
*.lib 是C的静态链接库
*.dll 动态链接库

C#可以调用C++写的托管类,但需要你先确定那个dll到底是什么
aifengtouxinxin 2010-05-22
  • 打赏
  • 举报
回复
其实 vs也可以用那些头文件 我在学opengl时好像要把那些文件放到相应的文件夹里,要全分开存放
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
希望各位高手来帮帮忙,即使不懂的也来帮顶哈,这个问题 一定要解决。不仅是为了我自己,我想以后也还会有很多的朋友会有这样的需求的。等他们遇见了,也能在这里找到答案,帮助他们。分数不够我在加。
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
还有就是 我要新建一个VC++的项目。这个项目是建成winform的?
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
恩,我先试试
先谢谢各位朋友的帮忙
weiki516 2010-05-22
  • 打赏
  • 举报
回复
试试VS中的vsc++ 或许可以编译
实在不行就下个环境吧 不大
upc_xiaowei 2010-05-22
  • 打赏
  • 举报
回复
hdt大神是谁?他很nb吗
gll062 2010-05-22
  • 打赏
  • 举报
回复
顶!!!!!!!!!!!!!!!!!!!!!!!!
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
在图像识别的时候报这个错误 :accessviolationexception 尝试读取或写入受保护的内存。这通常指示其他内存已损坏,在线等高手解答。
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
我本是是想将易语言写的一个图像处理的程序改写成c#的,呵呵,路途遥远啊。我下了个易语言破解版,将我下载的易语言程序看了下。然后发现在程序中有个后缀为fne的文件,个人呢认为这个就像c#中的一个类还是什么的。只不过这个是在易语言中使用的。这个fne文件是个关键,不知道在c#中如何用
蒋晟 2010-05-22
  • 打赏
  • 举报
回复
MFC导出类需要使用者也是同一版本的MFC程序。

如果DLL是用C做接口,你可以根据.h里面的定义重新声明p-invoke需要的函数签名。你可以去clrinterop.codeplex.com下载辅助的转换工具,但是注意这个转换工具不是百分之百的正确,比如嵌套结构就不能转换。
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
是啊,我从来没有接触过这个东西。还是昨天第一次接触的。楼上的头像有意思。看的我晕了。呵呵。谢谢帮顶
足球中国 2010-05-22
  • 打赏
  • 举报
回复
楼主现在还有很多东西没搞明白?/还是先看一本基础的书再继续学习。不然会走火入魔的。
yuquan1987 2010-05-22
  • 打赏
  • 举报
回复
我下了个dll查看器,查看了下,也不知如何去分析自己想要的东西。我现在能用那各类dll 了,就是用的[DllImport("aa.dll")]但是不知道里面具体的参数是怎么个形式怎么办呢?如果不知道里面的参数形式,不就是等于也不能用了?有什么方法可以看见这个dll需要传入什么参数吗?
兔子-顾问 2010-05-22
  • 打赏
  • 举报
回复
估计是c++开发的库,你可以看h文件中的定义,如果是mfc导出类,那就只有等hdt大神了,不过他很少上csdn了。如果都是extern "C"的导出函数,你可以参考api的声明方式,和h文件中的定义。进行p/invoke。但从你描述问题的方式。你对这些都不熟悉。你很难靠自己完成了。你可以:
1。找人帮忙实现
2.多找例子。自学。

110,533

社区成员

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

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

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