2012-12-05 26 views
0

其實我的問題更多地涉及到dll。從兩個獨立的可執行文件中同時使用dll

  • 我有一個應用程序的GUI(名稱:xxx_app
  • 我有第二應用程序的GUI(名稱:AAA_app

這兩者都可以TX/RX從zanthric USB-2-CAN數據設備直接使用dll。

現在有可能是兩個AAA_app & xxx_app直接使用同一個DLL的zanthric設備&同時操作?

這兩種GUI都可以加載相同的DLL進行通信嗎?

它會導致一些問題將兩個GUI中的數據rx &?

請建議。

回答

0

這是一個重要的問題。我相信這取決於您激活的DLL和USB驅動程序。我知道,我使用的USB DLL /驅動程序即使在同一個應用程序中由2個線程同時訪問時也會產生問題。我必須使用信號量來同步訪問。

另一方面,TCP/IP堆棧旨在與多個進程同時工作。這是硬件和上面的軟件的問題。

與TCP/IP不同,沒有獨立的「USB堆棧」。所以這取決於運行您使用的USB的驅動程序。

+0

意味着驅動程序將變得複雜,因爲它必須 - 使用某種機制來同步訪問。 – Katoch

1

多進程使用單個DLL是完全可能的 - 事實上,這通常是工作原理。

然而,無論它是否滿足您期望的要求,在訪問硬件資源時,都取決於該特定DLL的功能。我希望至少在API級別會有一定級別的訪問控制。

相關問題