我的DLL源码(实现2个数的加法和减法)

 我的DLL源码(实现2个数的加法和减法)

dll工程的dll.cpp
int add(int a,int b)
{
 return a+b;
}


int sub(int x,int y)
{
 return x-y;
}

dll工程的模块定义文件dll.def

LIBRARY dll //在def文件中LIBRARY语句说明该def文件是属于相应DLL的
EXPORTS
add
sub

用MFC的主体主要源码

void CDLLTestDlg::OnBtnTest()
//显式链界测试函数
{ UpdateData();
 typedef int(*padd)(int a,int b);
 //使用类型定义关键字typedef,定义指向和DLL中相同的函数原型指针
 HINSTANCE HDLL=LoadLibrary("dll.dll");
 //通过LoadLibray()将DLL加载到当前的应用程序中并返回当前DLL文件的句柄
 padd add=(padd)GetProcAddress(HDLL,"add");
 //通过GetProcAddress()函数获取导入到应用程序中的函数指针
 CString str;
 str.Format("两数之和是:%d",add(m_n1,m_n2));
 MessageBox(str);
 FreeLibrary(HDLL);
 //函数调用完毕后,使用FreeLibrary()卸载DLL文件
 //1,首先要将DLL文件拷贝到工程所在的目录或Windows系统目录下。
 //2,使用显式链接应用程序编译时不需要使用相应的Lib文件
 UpdateData(FALSE);

}

//引入库函数,实现隐式链接
_declspec(dllexport) int add(int a,int b);
_declspec(dllexport) int sub(int x,int y);
void CDLLTestDlg::OnButtonADD()
{
 
    UpdateData();
 m_add=add(m_n1,m_n2);
 UpdateData(FALSE);
}

void CDLLTestDlg::OnSUB()
{
 
 UpdateData();
 m_sub=sub(m_n1,m_n2); 
 UpdateData(FALSE);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值