VS2008創建dll,並使用dll

       原來一直使用vc6.0做開發,但是公司主要使用vs2008工具,剛開始使用的時候感覺非常不好用,但是一週下來,不禁感嘆,還是新的好啊,嘿嘿!

這裏總結一下vs2008下創建dll並使用dll導出函數的方法,當然方法還有很多,找出一個自己比較習慣的方法就好!

一:生成DLL

1:創建DLL工程

      文件->新建->項目->visual c++->win32->win32控制檯應用程序(win32項目也可以)

      填寫項目名稱MyDLL->確定->下一步->DLL(附加選項 對空項目打鉤)->完成。

      到這裏DLL工程就創建完畢了,下面新建兩個文件MyDLL.cpp和MyDLL.h。

      MyDLL.cpp內容如下:

  1. #include <iostream> 
  2. using namespace std; 
  3. #include "MyDLL.h" 
  4.  
  5. int Add(int &a,int &b) 
  6.     return a+b;  

      MyDLL.h內容如下:  

  1. #pragma once 
  2. #define DLL_EXPORT __declspec(dllexport) 
  3.  
  4. extern "C" DLL_EXPORT int Add(int &a,int &b); 

     點擊生成,則dll文件就生成了,vs2008不能直接生成lib文件,這個時候就需要我們在建立dll工程的時候 再新建一個def文件,默認生成然後重新生成就能夠得到lib文件了

2:調用DLL文件導出的接口函數

       vs2008這個IDE非常好用,我們這裏玩一下,在上面創建的DLL工程中,再新建一個項目來直接調用DLL導出函數。

       右鍵解決方案->添加->新建項目->建立一個空的常規工程 testMyDLL,下面新建兩個文件testMyDLL.cpp和testMyDLL.h

testMyDLL.cpp內容如下:

  1. #include "testMyDLL.h" 
  2. #pragma comment(lib,"..\\debug\\MyDLL.lib") 
  3.  
  4. #include <iostream> 
  5. using namespace std; 
  6.  
  7. int main() 
  8.     int a =3; 
  9.     int b =2; 
  10.     cout<<Add(a,b)<<endl; 
  11.  
  12.     getchar(); 
  13.  

testMyDLL.h內容如下:

  1. #pragma once 
  2. #define DLL_EXPORT __declspec(dllexport) 
  3.  
  4. extern "C" DLL_EXPORT int Add(int &a,int &b); 

這裏需要注意testMyDLL.cpp文件中調用lib的這句話:

  1. #pragma comment(lib,"..\\debug\\MyDLL.lib") 

這裏需要指明lib所在的文件夾,當然我們也可以在生成dll的MyDLL工程中,指定lib和dll文件的輸出路徑,直接到testMyDLL工程下。

注:dll文件的操作有很多方法,待以後豐富。。。

 

 

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