2014-12-06 120 views
-1

我知道,與C我可以ifdefine運行程序的可比性取決於操作系統。我不認爲這是可能的,但我想問一個更熟練的用戶社區,如果我可以做一個DLL的相同。我想我的DLL綁定到另一個進程,但綁定正確的位?請記住,我只用C++編寫了大約4個月的編程。是否有可能創建一個64位和32位的DLL? C++

+3

不,你不能同時做一個32位和64位的dll,但它很容易在32位和64位模式下爲dll構建相同的源代碼,所以你真的不需要這個。 – drescherjm 2014-12-06 05:26:31

+0

是的,我只是希望我能儘可能少的文件。幾乎是一種學習玩具。我將大部分代碼放在dll中,並從父級調用它們。我試圖開始的一個主要項目是將窗口捕捉改爲1/4而不是半屏。正如他們所說的去大或回家:) – TheStart101 2014-12-06 05:33:33

+0

謝謝你的方式。 – TheStart101 2014-12-06 05:34:29

回答

0

我想我的DLL與另一個進程綁定,但要綁定正確的位?

答案可能是使用進程外COM服務器。有一個相關的答案:Utilizing a 32-bit DLL in a 64-bit process via COM

+1

在這種情況下,它仍然是一個32位的DLL,但Windows在32位子系統中運行(與64位Windows可以運行32位.exe文件的方式相同),並且它們通過RPC進行通信。這適用於COM DLL,因爲COM包含消息傳遞層,但它不適用於通用DLL。 – 2014-12-06 21:53:38

+0

我的意思是互操作性32/64。誰在乎編組是否在做其工作? – AlexanderVX 2014-12-06 22:25:03

+0

創建COM DLL很困難,尤其是如果不使用MSVC。我沒有意識到任何免費的工具都有正確的樣板代碼,從頭開始編寫代碼已經超出了大多數人的經驗。 – 2014-12-06 22:56:56

相關問題