社区
Windows SDK/API
帖子详情
关于dll中函数的问题
gengjia8512
2008-07-07 03:51:09
我自己写了一个dll文件,然后编译生成了一个dll和一个lib文件,但是用软件看dll里面却没有的我定义的函数(软件是好的看其他dll文件都有自定义函数,但都不是在我电脑上生成的)为什么?。
...全文
58
4
打赏
收藏
关于dll中函数的问题
我自己写了一个dll文件,然后编译生成了一个dll和一个lib文件,但是用软件看dll里面却没有的我定义的函数(软件是好的看其他dll文件都有自定义函数,但都不是在我电脑上生成的)为什么?。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gengjia8512
2008-07-08
打赏
举报
回复
这个问题已经解决了。又出现了另外一个问题。
上面的DLL需要调用第三方DLL,在调用GetProcAddress后能找到函数地址,但一执行就跳出一个错误对话框,是不是在嵌套调用DLL时候要注意其他什么问题?
jxw1987628
2008-07-08
打赏
举报
回复
那个错误对话框是什么,上面提示什么信息?
我觉得要注意dll加载的顺序
loveshell
2008-07-07
打赏
举报
回复
头文件没有导出函数?
gengjia8512
2008-07-07
打赏
举报
回复
全部dll文件如下,就是5个函数,但Dll生成后没有这几个函数。
//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#include "CH375DLL.H"
#pragma hdrstop
#pragma argsused
HINSTANCE ins;
typedef void (* FUNC_close)(ULONG); //指向关闭设备函数
typedef HANDLE (* FUNC_open)(ULONG); //指向打开设备函数
typedef BOOL (*FUNC_read)(ULONG,PVOID,PULONG); //指向读数据函数
typedef BOOL (*FUNC_write)(ULONG,PVOID,PULONG); //指向读数据函数
typedef BOOL (*FUNC_reset)(ULONG); //指向读数据函数
FARPROC proc_close,proc_open,proc_read,proc_write,proc_reset;
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
if((ins=LoadLibrary( "CH375DLL.DLL" ))==NULL)
return 0;
else
return 1;
}
//---------------------------------------------------------------------------
/*打开USB设备*/
HANDLE _stdcall OpenUSBDevice()
{
/*取函数地址*/
proc_close=GetProcAddress(ins,"_CH375CloseDevice");
proc_open= GetProcAddress(ins,"_CH375OpenDevice");
proc_read= GetProcAddress(ins,"_CH375ReadData");
proc_write=GetProcAddress(ins,"_CH375WriteData");
FUNC_close CloseUsb=(FUNC_close)proc_close;
FUNC_open Open_Usb=(FUNC_open)proc_open;
CloseUsb(0);
//CH375CloseDevice(0); //关闭CH375设备
return Open_Usb(0);//CH375OpenDevice(0); //打开CH375设备,返回句柄,出错则无效,0对应第一个设备
}
/*关闭USB设备*/
void _stdcall CloseUSBDevice()
{
FUNC_close CloseUsb=(FUNC_close)proc_close;
CloseUsb(0);
//CH375CloseDevice(0); //关闭CH375设备
}
/*从下位机读取数据*/
int _stdcall ReadUSBDevice(unsigned char *Buff,unsigned long length)
{
FUNC_close CloseUsb=(FUNC_close)proc_close;
FUNC_open Open_Usb=(FUNC_open)proc_open;
CloseUsb(0);
//CH375CloseDevice(0); //关闭CH375设备
if(Open_Usb(0)==INVALID_HANDLE_VALUE) //打开CH375设备,出错则无效
{
return 0;
}
else
{
//unsigned long length=100;
FUNC_read Read_usb=(FUNC_read)proc_read;
Read_usb(0,Buff,&length);
//CH375ReadData(0,Buff,&length);
return length;
}
}
/*上位机向下位机传送数据*/
int _stdcall WriteUSBDevice(unsigned char *Buff,unsigned long length)
{
unsigned long len;
len=length; //保存用户要写入的数据长度
FUNC_close CloseUsb=(FUNC_close)proc_close;
FUNC_open Open_Usb=(FUNC_open)proc_open;
FUNC_write Write_usb=(FUNC_write)proc_write;
CloseUsb(0);
//CH375CloseDevice(0); //关闭CH375设备
if(Open_Usb(0)==INVALID_HANDLE_VALUE) //打开CH375设备,出错则无效
{
return 0;
}
else
{
Write_usb(0,Buff,&length);
//CH375WriteData(0,Buff,&length);
if(len!=length) //如果已经写入的长度与用户需要写入的长度不符则返回0
return 0;
else
return length; //否则返回实际长度
}
}
/*复位USB设备*/
void _stdcall ResetUSBDevice()
{
proc_reset=GetProcAddress(ins,"_CH375ResetDevice");
FUNC_reset Reset_usb=(FUNC_reset)proc_reset;
Reset_usb(0);
//CH375ResetDevice(0);
}
VC++动态链接库(
dll
)编程视频教学
动态链接库的开发编译属于VC++程序员技能。 本课程学习之后能够理解动态链接库原理,学会编译静态库、动态库,学会通过lib和头文件链接动态库,学会直接通过代码访问
dll
中
函数
Win10 查看
DLL
中
的
函数
软件
中
存在着大量以 .
dll
为扩展...确切的说是调用
DLL
中
的API
函数
。只要使用正确的调用格式,就可以直接调用不同语言写成的
DLL
中
的
函数
。 本文将介绍 2 种查看
DLL
中
函数
的工具:dumpbin.exe 和 Dependencies Visu
C#【必备技能篇】Win10 查看
DLL
中
的
函数
软件
中
存在着大量以 .
dll
为扩展名的文件,这些文件就是动态链接库(Dynamic Link Library),简称为
DLL
。
DLL
可以使用不同的编程语言来...只要使用正确的调用格式,就可以直接调用不同语言写成的
DLL
中
的
函数
。
DLL
的导出
函数
DLL
的导出
函数
,__declspec(
dll
export),.def模块定义文件,extern “C”区别一,__declspec(
dll
export)二,.DEF模块定义文件三,__declspec(
dll
export)和def文件的区别1,显式调用2,隐式调用四,结论 &...
VC++
DLL
导出
函数
经常使用VC6的Dependency查看
DLL
导出
函数
的名字,会发现有
DLL
导出
函数
的名字有时大不相同,导致不同的原因大多是和编译
DLL
时候指定
DLL
导出
函数
的界定符有关系。 VC++支持两种语言:即C/C++,这也是造成
DLL
导出...
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章