
























在新建对话框上放置2个按钮(隐式和显式调用dll)和1个编辑框(连接变量m_exp),添加按钮响应代码如下(隐式调用时:dll文件要放在对应目录[系统目录或者程序目录]下):
void CCalcTestDlg::OnButtonYinshi()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(m_exp.IsEmpty())
{
AfxMessageBox("请先输入四则运算表达式:");
return;
}
if(!TestExp(m_exp))
{
AfxMessageBox("格式错,请输入类似 \n -(-5+3*2)/2+1 \n这样的四则表达式");
return;
}
HMODULE hDll=::LoadLibrary(".\\Calc.dll");//加载链接库
if(hDll==NULL){
MessageBox("找不到Calc.dll,加载动态链接库失败","Warning",MB_OK|MB_ICONWARNING);
return;}
typedef double (*pShow)(const char *);
pShow Show=(pShow)::GetProcAddress(hDll,"Calc");
if(Show==NULL)
MessageBox("函数调用失败","Warning",MB_OK|MB_ICONWARNING); //调用加载动态链接库失败
else
m_exp.Format("%f",Show(m_exp));
FreeLibrary(hDll);
UpdateData(
HMODULE hDll
=::LoadLibrary(strPath);//加载链接库 FreeLibrary(hDll);
UpdateData(FALSE);
}
这是用来做四则运算的,dll的编写如下(用MFC建立DLL工程):
这个程序运行后可以进行四则表达式运算(含括号、负号),更多的格式暂时没时间做~~
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。