欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++中declspec(dllexport)和declspec(dllimport)?的用法介紹

 更新時(shí)間:2022年04月28日 09:12:33   作者:農(nóng)碼一生  
這篇文章介紹了C++中declspec(dllexport)和declspec(dllimport)?的用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、創(chuàng)建動(dò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)用動(dòng)態(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)代碼中開始位置手動(dòng)引用靜態(tài)庫: #pragma comment(lib,"..\Testlib\Test.lib")

注:#pragma comment(lib,"..\upgradeLib\RKUpgrade.lib")

3.按照如上操作,即可成功生成并運(yùn)行。即完成dll動(dòng)態(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) 用法的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解應(yīng)用程序與驅(qū)動(dòng)程序通信DeviceIoControl

    詳解應(yīng)用程序與驅(qū)動(dòng)程序通信DeviceIoControl

    這種通信方式,就是驅(qū)動(dòng)程序和應(yīng)用程序自定義一種IO控制碼,然后調(diào)用DeviceIoControl函數(shù),IO管理器會(huì)產(chǎn)生一個(gè)MajorFunction為IRP_MJ_DEVICE_CONTROL,MinorFunction為自己定義的控制碼的IRP,系統(tǒng)就調(diào)用相應(yīng)的處理IRP_MJ_DEVICE_CONTROL的派遣函數(shù)
    2021-06-06
  • C語言進(jìn)階教程之字符函數(shù)&字符串函數(shù)

    C語言進(jìn)階教程之字符函數(shù)&字符串函數(shù)

    C語言提供了豐富的字符串處理函數(shù),可以對(duì)字符串進(jìn)行輸入、輸出、合并、修改、比較、轉(zhuǎn)換、復(fù)制、搜索等操作,下面這篇文章主要給大家介紹了關(guān)于C語言進(jìn)階教程之字符函數(shù)&字符串函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • MFC修改編輯框光標(biāo)顯示位置方法詳解

    MFC修改編輯框光標(biāo)顯示位置方法詳解

    這篇文章主要介紹了在MFC中利用CComboBox控件修改編輯框光標(biāo)顯示位置的兩種解決方法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-02-02
  • c語言如何實(shí)現(xiàn)兩數(shù)之和

    c語言如何實(shí)現(xiàn)兩數(shù)之和

    這篇文章主要介紹了c語言如何實(shí)現(xiàn)兩數(shù)之和,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C++基礎(chǔ)教程之指針拷貝詳解

    C++基礎(chǔ)教程之指針拷貝詳解

    這篇文章主要介紹了C++基礎(chǔ)教程之指針拷貝詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • C++算法學(xué)習(xí)之分支限界法的應(yīng)用

    C++算法學(xué)習(xí)之分支限界法的應(yīng)用

    分支限界法常以廣度優(yōu)先或以最小耗費(fèi)(最大效益)優(yōu)先的方式搜索問題的解空間樹。本文將詳細(xì)講解分支限界法的應(yīng)用,需要的可以參考一下
    2022-05-05
  • C++中string替換所有指定字符串的方法

    C++中string替換所有指定字符串的方法

    這篇文章主要介紹了C++中string替換所有指定字符串的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • C++ vector容器實(shí)現(xiàn)貪吃蛇小游戲

    C++ vector容器實(shí)現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了C++ vector容器實(shí)現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C/C++獲取當(dāng)前時(shí)間的方法總結(jié)(最全)

    C/C++獲取當(dāng)前時(shí)間的方法總結(jié)(最全)

    這篇文章主要為大家整理了C/C++中獲取當(dāng)前時(shí)間的最全方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)和借鑒價(jià)值,需要的可以了解一下
    2023-03-03
  • typedef和#define的用法以及區(qū)別

    typedef和#define的用法以及區(qū)別

    以下是對(duì)C/C++語言中,typedef和#define的用法以及區(qū)別進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下
    2013-10-10

最新評(píng)論