要使用export關鍵字來編寫動態庫,首先需要編寫一個包含導出函數的源文件。在函數聲明前使用__declspec(dllexport)
修飾符,以便告訴編譯器這個函數需要被導出。
例如,以下是一個簡單的動態庫示例:
// mylibrary.h
#ifndef MYLIBRARY_H
#define MYLIBRARY_H
#ifdef MYLIBRARY_EXPORTS
#define MYLIBRARY_API __declspec(dllexport)
#else
#define MYLIBRARY_API __declspec(dllimport)
#endif
// 導出函數聲明
extern "C" MYLIBRARY_API int add(int a, int b);
#endif
// mylibrary.cpp
#include "mylibrary.h"
// 導出函數定義
extern "C" int add(int a, int b)
{
return a + b;
}
在編譯動態庫時,需要定義MYLIBRARY_EXPORTS
宏來告訴編譯器這是一個動態庫。在使用該動態庫的應用程序中,只需包含mylibrary.h
頭文件,并鏈接相應的動態庫文件即可。
請注意,不同的編譯器可能有不同的關鍵字或宏來實現動態庫的導出和導入,以上示例是針對Windows平臺上的Visual Studio編譯器的寫法。在其他平臺上可能需要使用不同的方法來實現動態庫的導出和導入。