我知道以前有類似的問題,但仍然不清楚。DLL訪問應用程序的數據
我的應用程序有一個類,說ClassAppGraph
,代表某種圖形。我需要編寫一個解析ClassAppGraph
的對象並執行某些操作的DLL。
如何將我的DLL訪問ClassAppGraph
從應用的對象?
我知道我可以一個指針從應用程序發送到該對象的DLL,但隨後如何在DLL知道類是什麼樣子,什麼是它的數據成員和職能?我是否在包含應用程序類聲明的DLL項目中包含了一個.h文件?
是否有任何其他的設計,我可以爲這樣的情況呢?
請注意,運行時環境不會驗證類定義在兩側都是相同的。這意味着類版本和許多微妙的東西(例如默認調用約定,字段包裝和其他編譯器標誌)中的不一致可能導致交互,從而破壞導出對象的DLL視圖。 – 2012-03-01 04:23:09
看起來應用程序和DLL都是由OP編寫的。我不認爲版本衝突會是問題,因爲應用程序仍然與靜態庫鏈接。 – 2012-03-01 05:13:37
@Cred King:是否使全局實例成爲公開對象到DLL的唯一選項?我無法將指向該對象的指針作爲參數傳遞給DLL中的函數嗎? – Ritesh 2012-03-01 22:11:38