注意:可以先看简单的新建dll和调用dll:http://blog.csdn.net/chenqiai0/article/details/8938150
第一步,首先编写一个add.dll,很简单,这个dll只输出一个API函数,就是add啦。
新建一个win32 dll工程,
add.cpp的内容:
#i nclude "stdafx.h"
int WINAPI add(int a,int b){ file://千万别忘记声明WINAPI 否则调用的时候回产生声明错误哦!
return a+b;
}
然后别忘了在add.def里面输出函数:
LIBRARY Add
DESCRIPTION "ADD LA"
EXPORTS
add @1;
编译,ok,我们获得了add.dll
注意:如果弹出对话框说:无法启动程序。。。 (其实这个我们可以忽略,因为dll本来就不会调用)
第二步,主程序
新建一个基于对话框的工程One,
在 void ConeDlg::OnBnClickedOk()里面调用add函数:
ConeDlg.cpp里进行调用:
我们用静态是直接如下就可以了(如果动态的话就先要获得函数指针)
void ConeDlg::OnBnClickedOk()
{
// TODO: 在ú此?添?加ó控?件t通?知a处鋦理え?程ì序ò代洙?码?
CDialogEx::OnOK();
int a=1;
int b=2;
int c=::add(a,b);
CString temp;
temp.Format("%d+%d=%d",a,b,c); AfxMessageBox(temp);
}
当然首先需要在ConeDlg.cpp头部添加如下代码:
#pragma comment(lib,"add.lib")
extern int WINAPI add(int a,int b);//函数声明
OK,编译运行,正确的话我们点击确定按钮就会显示1+2=3咯