zoukankan      html  css  js  c++  java
  • 在VC中创建DLL文件的方法步骤

      一.Win32动态链接库

      1.制作的步骤:

      (1)新建WIN32 Dynamic-link Library工程,工程名为MyDll,选择A simple DLL project类型。

      (2)MyDll.h的内容如下:

    以下是引用片段:
      extern "C" _declspec(dllexport) int sum(int a,int b);//本文所有的例子只有一个sum即加法函数。

      (3)MyDll.cpp的内容如下:

    以下是引用片段:
      #include "stdafx.h" 
      #include "windows.h" 
      #include "MyDll.h" 
      BOOL APIENTRY DllMain( 
      HANDLE hModule, 
      DWORD ul_reason_for_call, 
      LPVOID lpReserved 
      ) 
      { 
      return TRUE; 
      } 
      extern "C" _declspec(dllexport)int sum(int a, int b) 
      { 
      return a+b; 
      }

      (4)编译之后产生了MyDll.lib与MyDll.dll两个文件。

      2.使用方法:

      (1).隐式调用法: 将MyDll.lib和MyDll.h拷贝到需要应用该DLL的工程的目录下,将MyDll.dll拷贝到产生的应用程序的目录下,并在需要应用该DLL中的函数的CPP文件中添加如下几行:

    以下是引用片段:
      #include "MyDll.h" 
      #pragma comment(lib,"MyDll");

      (2).显示调用法:将MyDll.lib和MyDll.h拷贝到需要应用该DLL的工程的目录下,将MyDll.dll拷贝到产生的应用程序的目录下,并在需要应用该DLL中的函数的CPP文件中包含头文件,如:

    以下是引用片段:
      #include "MyDll.h"

      同时还需要在Project->Setting->Link->Object/library modules的框中增加MyDll.lib这个库。

      二.MFC动态链接库

      1.制作的步骤:

      (1)新建MFC AppWizard(dll)工程,工程名为MFCDll,选择Regular DLL using shared MFC DLL类型。

      (2)在生成的MFCDll.cpp文件后面增加下面几行:

    以下是引用片段:
      int sum(int a, int b) 
      { 
      return a+b; 
      }

      (3)在生成的MFCDll.def文件后面增加如下:

    以下是引用片段:
      sum @1 ;表示第一个函数是sum

      (4)编译后会产生两个文件MFCDll.lib,MFCDll.dll

      2.使用方法

      (1)隐式调用法: 将MFCDll.lib拷贝到需要应用该DLL的工程的目录下,将MyDll.dll拷贝到产生的应用程序的目录下,并在需要应用该DLL中的函数的CPP文件中添加如下几行:

      //注意这里没有在MFCDll.h中声明函数,所以不能直接包含MFCDll.h来声明函数。

    以下是引用片段:
      #pragma comment(lib,"MFCDll"); 
      int sum(int a, int b);

      //当然如果你的DLL中有很多函数,那可以另外写个MFCDll.h,包含所有的函数声明,然后直接将头文件包含进去

      (2)显示调用法:与Win32的调用方法一样,不需要#pragma comment(lib,"MFCDll");,但是需要在Project->Setting->Link->Object/library modules的框中增加MFCDll.lib这个库。

  • 相关阅读:
    WampServer Mysql配置
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 前10名
  • 原文地址:https://www.cnblogs.com/rosesmall/p/3924839.html
Copyright © 2011-2022 走看看