自己初學vc++寫的簡單的調用dll的例子

計算兩個整數的和...................................................................................

(1)定義的dll頭文件

工程名爲dllCall

頭文件名爲lib.h

#ifndef LIB_H
#define LIB_H extern   "C"  __declspec(dllexport) int add(int x, int y)
#endif
(2)定義的dll源文件

源文件名爲dllCall.cpp

#include "lib.h"
extern   "C"  __declspec(dllexport) int add(int x, int y)
{
 return x + y;
}

下邊爲調用dll的例子

工程名爲dllTest

文件名爲dllTest.cpp

#include <stdio.h>
#include <windows.h>
typedef int(*lpAddFun)(int, int); //宏定義函數指針類型
int main(int argc, char *argv[])s
{
 HINSTANCE hDll; //DLL句柄
 lpAddFun addFun; //函數指針
 hDll = LoadLibrary("D://dll//dllCall.dll"); //加載dll函數庫給hdll實例句柄
 if (hDll != NULL){
  //printf("aaaaaaa/n");
  addFun = (lpAddFun)GetProcAddress(hDll, "add");//從hdll實例句柄中獲得add函數的執行地址分爲宏定義的函數指針
     if (addFun != NULL){
    //printf("/nbbbbbbb");
   int result = addFun(2, 3);//執行函數指針指向的函數地址
       //printf("/nccccccc");
   printf("%d/n", result); //打印結果並換行
  }
  FreeLibrary(hDll);//釋放函數庫實例句柄s
 }
 return 0;
}

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