久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

VS2013環(huán)境生成和調(diào)用DLL動態(tài)鏈接庫

 htxu91 2017-03-08
創(chuàng)建動態(tài)庫方法:
創(chuàng)建動態(tài)庫是生成 .dll .lib 兩個個文件
文件 -> 新建 -> 項目 -> win32控制臺應(yīng)用程序 項目名稱:DLLGenerator
應(yīng)用程序類型:DLL  附加選項:空項目


建立源文件dllgenerator.cpp(不需要主函數(shù),,只寫你需要動態(tài)調(diào)用的函數(shù))
  1. // 整數(shù)加法和乘法  
  2. int Add(int a, int b){  
  3. return a + b;  
  4. }  
  5. int Mul(int c, int d){  
  6. return c * d;  
  7. }  
建立頭文dllgenerator.h(一定要把函數(shù)聲明寫好)
  1. int Add(int, int);  
  2. int Mul(int, int);  
建立源文件dllmain.cpp(一定要包含#include<windows.h>)
    - 下面的函數(shù)是VS2013自動生成,沒生成復(fù)制即可。其實是在創(chuàng)建工程項目時不選空項目時候vs自動生成的,,但不選空項目會產(chǎn)生很多其他文件和依賴項,本文教你建立最純凈的工程,,注意包含window.h
  1. // dllmain.cpp : 定義 DLL 應(yīng)用程序的入口點,。  
  2. #include <windows.h>  
  3. BOOL APIENTRY DllMain(HMODULE hModule,  
  4. DWORD  ul_reason_for_call,  
  5. LPVOID lpReserved  
  6. )  
  7. {  
  8. switch (ul_reason_for_call)  
  9. {  
  10. case DLL_PROCESS_ATTACH:  
  11. case DLL_THREAD_ATTACH:  
  12. case DLL_THREAD_DETACH:  
  13. case DLL_PROCESS_DETACH:  
  14. break;  
  15. }  
  16. return TRUE;  
  17. }  
建立源文件Source.def
    - 建立方式如下圖,選擇 VisualC++ -> 模塊定義文件(.def)
    - 在此文件第一行引號中填你的項目名稱即可,,EXPORTS下面列出要生成的函數(shù)名稱 格式:“名稱 @序號”)
  1. LIBRARY "DLLGenerator"  
  2. EXPORTS  
  3.      Add @1  
  4.      Mul @2  


點擊菜單欄 生成 -> 生成解決方案 或者 按Ctrl+F5
輸出欄顯示 創(chuàng)建庫 DLLGenerator.lib 和 生成 DLLGenerator.dll


lib文件里面有對dll文件的描述,,所以生成的dll文件不要改名稱,否則lib文件和dll文件無法對應(yīng)
在項目方案目錄里,,Debug文件夾中可以找到DLLGenerator.lib 和 DLLGenerator.dll, 把這兩個文件和工程的頭文件(dllgenerator.h)移動到一個空文件夾(E:\dlltest\DLL)中,,以后你的項目用到此dll就包含這個目錄,至此動態(tài)庫創(chuàng)建完畢,。



項目調(diào)用動態(tài)庫方法如下:
調(diào)用動態(tài)庫是調(diào)用 .dll .lib .h 三個文件
文件 -> 新建 -> 項目 -> win32控制臺應(yīng)用程序 項目名稱:DLLTestor
應(yīng)用程序類型:控制臺應(yīng)用程序  附加選項:空項目


打開項目 -> 項目屬性 -> 配置屬性 -> VC++目錄 -> 包含目錄 加入DLLGenerator.h所在目錄的絕對路徑 (E:\dlltest\DLL),,以分號間隔
打開項目 -> 項目屬性 -> 配置屬性 -> VC++目錄 -> 庫目錄 加入DLLGenerator.lib所在目錄的絕對路徑 (E:\dlltest\DLL)

打開項目 -> 項目屬性 -> 配置屬性 -> 鏈接器 -> 輸入 -> 附加依賴項 中填上DLLGenerator.lib(以分號間隔),點擊右下角 應(yīng)用 確定


工程調(diào)用dll時首先在工程文件目錄中查找dll,,找不到后在C:\Windows\System32 中找,。所以我們自己項目簡單調(diào)用dll時就把生成的dll文件復(fù)制到工程目錄中,如果經(jīng)常用可以把dll文件放到C:\Windows\System32中


新建源文件main.cpp
  1. #include<iostream>  
  2. #include"dllgenerator.h"  
  3. using namespace std;  
  4. int main(){  
  5. int a = 2;  
  6. int b = 3;  
  7. cout << Add(a, b) << endl;  
  8. cout << Mul(a, b) << endl;  
  9. }  
點擊菜單欄,,調(diào)試 -> 開始執(zhí)行(不調(diào)試)  或者按F5
運行結(jié)果:

至此調(diào)用動態(tài)庫成功,。

---------------End-----------------

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多