在C++中調(diào)用DLL中的共享數(shù)據(jù)需要使用外部變量來引用DLL中的數(shù)據(jù)。以下是一個(gè)簡單的示例:
假設(shè)有一個(gè)名為 sharedData.dll
的 DLL,其中包含一個(gè)共享的整型變量 sharedInt
。
首先,在DLL中聲明共享的數(shù)據(jù):
// sharedData.dll
extern "C" {
__declspec(dllexport) int sharedInt;
}
然后在C++程序中引用并使用共享的數(shù)據(jù):
#include <iostream>
extern "C" {
__declspec(dllimport) int sharedInt;
}
int main() {
std::cout << "Shared data from DLL: " << sharedInt << std::endl;
// 修改共享數(shù)據(jù)
sharedInt = 10;
std::cout << "Modified shared data: " << sharedInt << std::endl;
return 0;
}
在這個(gè)示例中,我們?cè)贑++程序中使用 extern "C"
來引用DLL中的共享數(shù)據(jù) sharedInt
,并可以對(duì)其進(jìn)行讀取和修改操作。需要注意的是,在使用共享數(shù)據(jù)之前,需要確保DLL已經(jīng)被加載并且共享數(shù)據(jù)已經(jīng)被初始化。