VC6.0下生成非MFC的DLL庫

1、編寫非MFC的DLL庫

(1) VC6.0下建立Win32 Dynalmic-Link Library工程mydll。

 

(2)工程下創建一個mydll.h頭文件和mydll.cpp實現文件。

    mydll.h頭文件如下:

#ifndef MYDLL_H
#define MYDLL_H

#ifdef DLL
#define EXTERN extern "C" _declspec(dllexport)
#else
#define EXTERN extern "C" _declspec(dllimport)
#endif

EXTERN int myadd(int, int);

#endif

 

mydll.cpp實現文件如下:

#define  DLL
#include "mydll.h"

int myadd(int a, int b)
{
 return a+b;
}

 

(3)編譯生成DLL動態庫mydll.dll

 

2、創建一個調用DLL庫的應用程序testapp

(1)在VC6.0下建立Win32 Console Application工程,在下一步選擇簡單應用程序。

 

(2)修改testapp.cpp文件,實現調用mydll.dll動態庫中的函數myadd。實現如下:

#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
typedef int (*padd)(int, int);

int main(int argc, char* argv[])
{
 HINSTANCE handle = ::LoadLibrary("../../mydll/debug/mydll.dll");//mydll.dll動態庫路徑
 if(handle != NULL)
 {
  padd pf = (padd)GetProcAddress(handle,"myadd");
  if(pf != NULL)
  {
   printf("dll myadd(3,2) = %d", pf(3,2));
  }

   ::FreeLibrary(handle);

 }
 return 0;
}

(3)編譯生成exe應用程序testapp.exe。

 

(4)運行testapp.exe,結果如下:

dll myadd(3,2) = 5

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章