簡體   English   中英

跨編譯器共享內存?

[英]shared memory across compilers?

首先,我要說我對這個話題幾乎沒有想法,如果我看起來很昧的話,請給我幽默。

由於必須在g ++編譯程序中使用vc ++庫的問題,我建立了一個本地服務器-客戶端系統,其中服務器是用vc ++編譯的,客戶端是g ++的,它們通過套接字進行交互。 整個套接字上發生大量數據傳輸(22個字段中的每個字段接近2,00,000條記錄),這是一個主要的瓶頸,大大降低了整個過程的速度。 是否可以在服務器和客戶端進程之間建立某種共享內存,以便訪問更快?

我假設您在Windows系統上使用此功能? (您沒有說。)由於它是本地客戶端服務器,因此您還有其他選擇。

我認為,對於Windows跨進程的大量數據通信,您應該考慮使用內存映射文件。 這些可以使用Cloclo內存句柄共享。 然后,使用共享的內核對象進行同步(我建議使用互斥對象或事件),您可以控制訪問以確保以安全的方式完成訪問。

如果它始終是本地的,那可能是您最快,最安全的方法。

(我會為您提供更具體的API信息,但昨天我將書帶回家作為辦公室清理工作的一部分-對不起!)

如果它們在同一台PC上,則可以,共享內存速度更快,並且可以在不同程序中默認運行。

如果是在不同的PC上,也可以,但是不會比套接字更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM