在VC中創建DLL文件的方法步驟


原文地址:http://www.builder.com.cn/2007/1117/639199.shtml

附件 test.dll

今天教大家在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 "test.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這個庫。

     (3).LoadLibrary 不需要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這個庫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM