C++ Windows DLL項目同時導出類、函數(shù)和變量(dllexport和dllimport)

使用Visual Studio建立新的library項目,就可以知道怎么做了。

頭文件:

// 下列 ifdef 塊是創(chuàng)建使從 DLL 導出更簡單的
// 宏的標準方法。此 DLL 中的所有文件都是用命令行上定義的 PROJECT1_EXPORT
// 符號編譯的。在使用此 DLL 的
// 任何其他項目上不應定義此符號。這樣,源文件中包含此文件的任何其他項目都會將
// PROJECT1_API 函數(shù)視為自 DLL 導入,而此 DLL 則將用此宏定義的
// 符號視為是被導出的。
#ifdef PROJECT1_EXPORTS
#define PROJECT1_API __declspec(dllexport)
#else
#define PROJECT1_API __declspec(dllimport)
#endif

// 此類導出自 Project1.dll
class PROJECT1_API CProject1 {
public:
    CProject1(void);
    // TODO:  在此添加您的方法。
};

extern PROJECT1_API int nProject1;

PROJECT1_API int fnProject1(void);

源文件:

    // Project1.cpp: 定義 DLL 應用程序的導出函數(shù)。
//

#include "stdafx.h"
#include "Project1.h"


// 這是導出變量的一個示例
PROJECT1_API int nProject1=0;

// 這是導出函數(shù)的一個示例。
PROJECT1_API int fnProject1(void)
{
    return 42;
}

// 這是已導出類的構造函數(shù)。
// 有關類定義的信息,請參閱 Project1.h
CProject1::CProject1()
{
    return;
}

Exporting C++ from dlls寫的也很不錯。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,007評論 25 709
  • 轉(zhuǎn)自http://blog.csdn.net/xugangwen/article/details/44811783...
    扎Zn了老Fe閱讀 13,082評論 1 142
  • 發(fā)發(fā)圖記錄下腳印。 騰王閣好多寶貝。 最美的還是秋水廣場。 感覺自己萌萌噠,音樂也不錯。
    帥也不思春閱讀 569評論 2 1
  • 我倆總有各種理由刪了彼此好友再加上。最大的問題是學習,他和我說了兩年了我也沒聽進去。他最生氣的一次是我線代考了20...
    TongTeng閱讀 331評論 0 0
  • 看了許多筆者的關于某些事情的干貨;看了許多的雞湯;看了許多離我生活遠的,離我生活近的勵志人物故事。同樣,看了學神一...
    青小妤閱讀 542評論 0 0

友情鏈接更多精彩內(nèi)容