boost-interprocess

    1熱度

    1回答

    我有以下UtlSharedIPCWrapper我創建的模板類訪問放置在進程間內存中的用戶定義類型。 通常這個類是使用一個簡單的類型,例如: // construct a FaultReport - default to no faults auto faultWrapper = managed_shm.construct< UtlSharedIPCWrapper<uint64_t>>(

    4熱度

    1回答

    我需要在重新啓動時持續保留uint64_t標記。 要做到這一點,我使用boost::interprocess::mapped_region內存映射,我在同一個進程創建一個文件: bip::file_mapping file(filename.c_str(), bip::read_write); auto region = std::make_unique<bip::mapped_region>(

    0熱度

    1回答

    的boost ::進程間將建立這樣的SHM: boost::interprocess::managed_shared_memory segment(boost::interprocess::open_or_create, "ContainerSharedMemory", 65536); ,但怎麼能關注此SHM這樣的: /Tool/SHMCache$ ipcs -m key shmid

    6熱度

    2回答

    我想讀取並從txt文件中刪除第一行(沒有複製,它是一個巨大的文件)。 我已經讀過網絡,但是每個人都只是將所需內容複製到一個新文件。我不能那樣做。 低於第一次嘗試。這段代碼將被刪除,因爲沒有行被刪除。如果代碼將在每次開啓時刪除第一行文件,代碼將會結束。 #include <iostream> #include <string> #include <fstream> #include <boos

    1熱度

    1回答

    我的問題是關於使用Boost.Interprocess,在單個寫入器進程和多個讀取器進程的上下文中增加內存映射區域。 使用作者的managed_mapped_file::grow是否可以,假設讀者不需要更新地圖尺寸的更改是可以接受的?我的假設是,讀者的地圖將保持有效,然後當我需要他們從作者處獲取最新更改時,我可以用更新的大小重新映射讀者。它是否正確? 文檔的Growing managed segm

    5熱度

    1回答

    我目前正在查看Boost的進程庫的文檔,並試圖找出它們之間的區別。 從所有我可以告訴唯一的區別是持久性(Windows共享內存是在最後一個進程退出時釋放,managed_shm只有當被告知時釋放),還有其他差異,如速度或我失蹤?

    1熱度

    1回答

    我有兩個程序。 #include <iostream> #include <boost/interprocess/managed_shared_memory.hpp> int main(int argc, char const* argv[]) { boost::interprocess::shared_memory_object::remove("High");

    0熱度

    2回答

    我想實現在this問題的答案中實現了什麼,但是對於字符串向量,即字符串對象。我希望能夠編寫可用於堆內存或共享內存的通用代碼。我模擬了代碼並編寫了一個類來實現一個字符串向量,這個向量可以用於堆內存或共享內存。我大部分工作。但是,當我嘗試從堆分配的字符串矢量初始化/創建字符串的共享內存向量時,我收到編譯錯誤。在上面引用的問題中,共享內存向量是從非共享內存向量初始化的(引用「這是因爲...... MAG

    0熱度

    2回答

    在Boost.Interprocess中文檔Where is this being allocated?中指出,Boost.Interprocess中容器使用在同一時間兩種機制放置在共享存儲器: Boost.Interprocess中構造 <>,find_or_construct <> ...功能。這些函數將C++對象放入共享的內存中。但是這隻放置對象,而不是這個對象可以動態分配的內存。 共享內存

    3熱度

    1回答

    摘要 我目前的代碼再生一個很奇怪的錯誤我有我的軟件一個小例子。它使用Boost創建3個名爲信號量,並在單個線程中等待每個信號量。這工作。但是如果我改變信號量的名稱(通過添加一個給定的前綴),它不會:第3個信號量無故等待無限的時間。 詳細信息(源代碼和行爲) #include <string> #include <vector> #include <iostream> #include <bo