我已经做了一个DLL,但当我在VB中调用时,出现一个错误提示,我不知道该怎么解决,请高手赐教。Dll 中函数如下:
int mun(int a,int b){
return(a+b);
}提示如下:
can't find DLL Entry Point mun in "c:\temp.dll"
大概的意思是说没有调用入口,请高手指教。
int mun(int a,int b){
return(a+b);
}提示如下:
can't find DLL Entry Point mun in "c:\temp.dll"
大概的意思是说没有调用入口,请高手指教。
解决方案 »
- VC++ 怎么获取web api返回的json或者xml数据
- 串口通信被定时器干扰的问题!请帮忙分析一下!谢谢!
- socket建立连接地址问题?
- 查找子窗口
- 双击list控件的item,应该用什么事件触发?
- FTP服务器测试,免费开放FTP,欢迎上传下载。
- 有熟悉小波的吗?
- ▲▲请问如何不调用对话框的DoModal函数来实时反映参数变化?100分等你拿▲▲
- 200分的问题,谁知道怎么修改显卡的开机画面(logo)?修改显卡的bios?
- 还是菜鸟的问题,挺急的
- 自己健的類為什麼會出錯
- 我也是学习COM的菜鸟,我想问问大家,为什么COM需要类厂呢?为什么不在dll的引出函数中直接创建对象呢?实用类厂的好处是什么呢?
return(a+b);
}
就可以了
LIBRARY "DllName"
DESCRIPTION 'VoiceMail Windows Dynamic Link Library'EXPORTS
mun @1
LIBRARY yourdll
EXPORTS
mun @1
extern "C" int __declspec(dllexport) mun(int a,int b){
return(a+b);
}
Bad Dll Calling Convention
MFC AppW(Dll),一定不能选上 MFC Extension Dll,其他的均可。
int __stdcall mun()
}实施函数 int __stdcall mun();在*.def文件中定义输出函数 ,不要使用__declspec(dllexport)
到vc工程中,找到xxx.def文件,在其中添加上你的mun函数的声明eg.EXPORTS
mun @1
; Explicit exports can go here应该就可以了。
1、尽量采用def文件的形式来输出函数。不要使用__declspec(dllexport/dllimport)这一类的宏定义。
2、如果是C++编写的dll,在函数声明的时候要使用extern "C",保证编译后的代码是采用c的命名方式。
3、输出函数一定要使用__stdcall调用约定。