C++中declspec(dllexport)和declspec(dllimport)?的用法介紹
一、創(chuàng)建動態(tài)文件
1.添加頭文件dll.h,并輸入以下代碼:
#ifdef DLL_EXPORTS //如果在工程里已經(jīng)添加預(yù)定義宏DLL_EXPORTS
#define DLLEXPORT __declspec(dllexport) //那DLLEXPORT就指代__declspec(dllexport) 用于dll的導(dǎo)出
#else //當(dāng)工程中不包含DLL_EXPORTS預(yù)定義時(shí)
#define DLLEXPORT __declspec(dllimport) //DLLEXPORT 就指代__declspec(dllimport)
#endif
DLLEXPORT int add(int a, int b);//導(dǎo)出函數(shù)用
DLLEXPORT void foo();//導(dǎo)出函數(shù)用
class DLLEXPORT __declspec(dllexport) a {};//導(dǎo)出類用 2.在項(xiàng)目的屬性中的預(yù)處理其中定義DLL_EXPORTS,其他項(xiàng)目則不要定義。

3.在dll.cpp文件中實(shí)現(xiàn)方法:
#include "dll.h"
int add(int x,int y)
{
return x+y;
}4.編譯生成,則工程的debug目錄下就生成了.dll和.lib文件
二、創(chuàng)建調(diào)用動態(tài)文件
1.新工程中,創(chuàng)建添加源文件calldll.cpp,并輸入以下代碼:
#include "dll.h"
#include <iostream>
int main()
{
int z;
int x=1, y=2;
z=add(x,y);
std::cout<<z<<std::endl;
}2.工程屬性進(jìn)行以下設(shè)置:
(1)C/C++:“附加包含目錄”,添加dll.h頭文件目錄;
(2)鏈接器--常規(guī): “附加庫目錄”,添加上面生成的dll.lib文件的目錄;
(3)鏈接器--輸入:“附加依賴項(xiàng)”,添加上面生成的dll.lib文件。
(4)代碼中開始位置手動引用靜態(tài)庫: #pragma comment(lib,"..\Testlib\Test.lib")
注:#pragma comment(lib,"..\upgradeLib\RKUpgrade.lib")
3.按照如上操作,即可成功生成并運(yùn)行。即完成dll動態(tài)庫的調(diào)用。
注:
如果編譯通過后用行,提示丟失dll.dll文件的錯(cuò)誤信息。
解決:將dll.dll放在和exe同一目錄下或放在c:\windows\system32目錄下(Win64位操作系統(tǒng)且dll.dll不是64位而是32位的話放在c:\windows\syswow64目錄下)
到此這篇關(guān)于C++中declspec(dllexport)和declspec(dllimport) 用法的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++實(shí)現(xiàn)RSA加密解密算法是示例代碼
非對稱加密方式可以使通信雙方無需事先交換密鑰就可以建立安全通信,因此被廣泛應(yīng)用于身份認(rèn)證、數(shù)字簽名、等信息交換領(lǐng)域。其中最具有代表性的非對稱加密方式就是RSA公鑰密碼體制。本文將用C++實(shí)現(xiàn)RSA加密解密算法,需要的可以參考一下2022-09-09
C語言使用結(jié)構(gòu)體實(shí)現(xiàn)簡單通訊錄
這篇文章主要為大家詳細(xì)介紹了C語言使用結(jié)構(gòu)體實(shí)現(xiàn)簡單通訊錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
C++實(shí)現(xiàn)四則運(yùn)算器(帶括號)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)四則運(yùn)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
C語言SetConsoleTextAttribute函數(shù)使用方法
這篇文章介紹了C語言SetConsoleTextAttribute函數(shù)的使用方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
仿寫C語言string.h頭文件檢驗(yàn)字符串函數(shù)
這里給大家分享的是一個(gè)C語言string.h頭文件檢驗(yàn)字符串函數(shù)的仿寫,非常的簡單實(shí)用,小編覺得這篇文寫的還不錯(cuò),希望能夠給你帶來幫助2021-11-11

