VC++6.0MFC及动态链接库实例

建立动态链接库(举例说明)

1.

法一:

Visual C++6.0启动后,要先建立一个project工程文件。方法为:
·选择File|new 菜单项,将弹出New 对话框。
·单击Projects 选项卡
·在Location中填用户子目录路径
·在Project name中填入工程名(如area)
·在列表中选择MFC AppWizard(dll),表示你编制的应用程序将生成动态链接库文件(.dll)
·按照提示创建一个自己想要的工程

法二:

Visual C++6.0启动后,要先建立一个project工程文件。方法为:
·选择File|new 菜单项,将弹出New 对话框。
·单击Projects 选项卡
·在Location中填用户子目录路径
·在Project name中填入工程名(如area)
·在列表中选择Win32 Dynamic-Link Library ,
·按照提示创建一个自己想要的工程

2.

定位到area.h文件处,添加动态链接库的函数原型声明,下面为area.h的内容:

double qius(double r);
double qiuv(double r);
double chs(double a,double b,double c);
double chv(double a,double b,double c);
double yus(double r,double h);
double yuv(double r,double h);

3.

定位到area.cpp 文件处,添加动态链接库中的函数的实现部分,下面为area.cpp的内容:

double qius(double r)
{ return 4.0*3.1416*r*r;}
double qiuv(double r)
{ return 4.0/3.0*3.1416*r*r*r;}
double chs(double a,double b,double h)
{return 2*(a+b+h);}
double chv(double a,double b,double h)
{ return a*b*h ;}
double yus(double r,double h)
{return (3.1416*r*r*2+3.1416*r*2*h);}
double yuv(double r,double h)
{ return (3.1416*r*r*h) ;}

4

在area.def中引出DrawTree函数,下面为area.def的内容。

 qius
 qiuv
 chs
 chv
 yus
 yuv

5

编译链接全部。

动态链接库文件的调用

1.建立一个基于对话框的文件exe1

·选择File|new 菜单项,将弹出New 对话框。
·单击Projects 选项卡
·在Location中填用户子目录路径
·在Project name中填入工程名(如area)
·在列表中选择MFC AppWizard(exe)
·下一步选择第三个类型,也就是基于对话框的MFC工程

2.

1.在exe1.cpp中添加如下文件:

BOOL CExe1App::InitInstance()

{    SetDialogBkColor (RGB(0,0,255),RGB(255,255,0));
       AfxEnableControlContainer();}//把对话框背景设置为蓝色,字体颜色设为黄色
2.

设置4个edit 筐,分别代表半径,长,宽,高;6个按钮分别代表球体表面积,球体体积,长方体表面积,长方体体积,圆柱体表面积,圆柱体体积;另外设置六个edit筐来分别显示结果。
在这里插入图片描述

3.在view中class wizard中在设置一下各个控件的属性,

右键,选择 建立类向导
把10个edit 筐IDC_EDIT1~1都设为double类型,按钮都设置为BN-CLICKED;
在这里插入图片描述

4.在exe1Dlg.cpp中添加如下代码:
   void CExe1Dlg::OnButton1() 
{ UpdateData();
   m_qius=qius(m_r);
  UpdateData(false );
    // TODO: Add your control notification handler code here
    
}
 
void CExe1Dlg::OnButton2() 
{   UpdateData();
   m_qiuv=qius(m_r);
   UpdateData(false );
    // TODO: Add your control notification handler code here
    
}
 
void CExe1Dlg::OnButton3() 
{    UpdateData();
   m_chs=chs(m_a,m_b,m_h);
   UpdateData(false );
    // TODO: Add your control notification handler code here
    
}
 
void CExe1Dlg::OnButton4() 
{   UpdateData();
   m_chv=chv(m_a,m_b,m_h);
   UpdateData(false );
    // TODO: Add your control notification handler code here
    
}
 
void CExe1Dlg::OnButton5() 
{   UpdateData();
   m_yus=yus(m_r,m_h);
   UpdateData(false );
    // TODO: Add your control notification handler code here
    
}
 
void CExe1Dlg::OnButton6() 
{ UpdateData();
   m_yuv=yuv(m_r,m_h);
   UpdateData(false );
    // TODO: Add your control notification handler code here
    
}
最后

1、记得添加头文件“area.h”,然后吧链接库中的三个文件:area.dll,area.h,area.lib复制黏贴到exe1文件下。
2、工程设置中,点击link,输入要链接的库area.lib
3、最后重新链接全部,编译运行。

运行结果

在这里插入图片描述
具体详细教程请参见
https://max.book118.com/html/2018/1005/8121127101001125.shtm

发布了12 篇原创文章 · 获赞 0 · 访问量 718

猜你喜欢

转载自blog.csdn.net/weixin_43252204/article/details/103720898