當前位置:編程學習大全網 - 源碼下載 - 用VS 如何由源代碼生成DLL文件

用VS 如何由源代碼生成DLL文件

1:創建DLL工程

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

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

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

MyDLL.cpp內容如下:

1?#include?

2?using?namespace?std;?

3?#include?"MyDLL.h"?

4?

5?int?Add(int?&a,int?&b)?

6?{?

7?return?a+b;?

8?}?

MyDLL.h內容如下:?

1?#pragma?once?

2?

3?extern?"C"?__declspec(dllexport)?int?Add(int?&a,int?&b);?

點擊生成Bulid -->Bulid MyDLL,dll文件就生成了,vs2008不能直接生成lib文件,這個時候就需要我們在建立dll工程的時候 再新建壹個def文件,默認生成然後重新生成就能夠得到lib文件了,但可以通過修改工程屬性裏面的general->project default->configure type修改為lib,就可以生成lib文件。

註意:如果在已存在的工程上創建dll或者lib,不需要修改工程,只要把工程屬性裏面的general->project default->configure type修改為lib或者dll,就可以生成lib文件或者dll文件了

在C++程序中使用剛才生成的DLL文件步驟:

新建壹個win32 控制臺工程,取名testMyDLL,新建兩個文件:testMyDLL.cpp和testMyDLL.h,

首先需要?隱式鏈接采用靜態加載的方式,比較簡單,需要.h、.lib、.dll三件套。新建“控制臺應用程序”或“空項目”。配置如下:(這壹點非常重要)

項目->屬性->配置屬性->VC++?目錄->?在“包含目錄”裏添加頭文件MyDLL.h所在的目錄?

項目->屬性->配置屬性->VC++?目錄->?在“庫目錄”裏添加頭文件MyDLL.lib所在的目錄?

項目->屬性->配置屬性->鏈接器->輸入->?在“附加依賴項”裏添加“MyDLL.lib”(若有多個?lib?則以空格隔開)

testMyDLL.cpp內容如下:

#include?"testMyDLL.h"?

#pragma?comment(lib,"..\\debug\\MyDLL.lib")//可以寫成絕對路徑,但是路徑壹定要用\\來指明,即:J:\\Pr//ograms\\C++\\Practice\\DLLTEST\\DLLtest\\Debug\\MyDLL.lib"#include?

using?namespace?std;

int?main()?

{

int?a?=3;

int?b?=2;

cout<<Add(a,b)<<endl;

getchar();

}?

testMyDLL.h內容如下

#pragma?once?

extern?"C"?_declspec(dllexport)?int?Add(int?&a,int?&b);?

現在可以編譯通過了,但是程序運行就報錯,還需要將MyDLL.dll復制到當前項目生成的可執行文件所在的目錄。(這壹點非常重要)

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

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

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

註意:如果只有dll文件,那麽必須在程序裏面調用LoadLibrary()函數才能使用,如果有lib文件,那麽有兩種方式可以馬上進行調用

  • 上一篇:農村宅基地該不該開始收費?“壹戶壹宅”階梯收費的收費標準是否可行?
  • 下一篇:天成頭像源代碼
  • copyright 2024編程學習大全網