boost-interprocess

    1熱度

    1回答

    我知道boost interprocess containers,並且這些示例使用託管共享內存。但我想用一個簡單的boost::interprocess::shared_memory_object,裏面有一個對象,以及一個矢量或該對象內的任何其他容器。這似乎並不奏效。 試過這樣: #include <stack> #include <boost/interprocess/containers/v

    0熱度

    1回答

    我具有包含在長期運行的字符串(升壓::進程間:: basic_string的)作爲值保存在共享存儲器,我正在此錯誤升壓進程間矢量 include/boost/interprocess/mem_algo/rbtree_best_fit.hpp:1346: void boost::interprocess::rbtree_best_fit<MutexFamily, VoidMutex, MemAlig

    0熱度

    2回答

    我已經在這裏待了好幾天(即使在升壓論壇上也是posted),並且能夠讓第二個進程識別鎖定的互斥鎖,但這似乎不起作用。請幫忙。這是代碼: 公共頭文件:SharedObject.hpp #ifndef SHAREDOBJECT_HPP #define SHAREDOBJECT_HPP #include <iostream> #include <boost/interprocess/mapped_

    0熱度

    1回答

    我在boost :: interprocess :: flat_map上構建了一些包裝,問題是,出於某種原因我無法使用operator[]或at。當我使用find或insert它成功編譯。 typedef boost::interprocess::managed_shared_memory::segment_manager SegmentManager; typedef boost::inter

    1熱度

    1回答

    我希望在一個進程中在共享內存段上分配數據,並在另一個進程中釋放它。 我使用以下行分配它在過程1(過程Proc1): new_Class* pData = managed_windows_shared_memory_segment.construct<new_Class>(anonymous_instance)() 我則指針轉換到手柄get_handle_from_address(pData),將其

    0熱度

    1回答

    時出現奇怪的鏈接器錯誤我們有一些代碼使用Boost Interprocess來管理共享內存。它把反對我們的升壓1.60的調試版本罰款,並將其鏈接對我們加速1.55的發行版本,而是針對我們的升壓1.60的發行版本鏈接時,我得到這兩個錯誤: error LNK2001: unresolved external symbol "public: void __thiscall boost::contain

    0熱度

    1回答

    我正在嘗試使用Boost :: Interprocess(i)在一個進程中在共享內存中創建一個集合,並且(ii)打印該集合的值(1,2,3 )在另一個過程中。 這個程序編譯,但崩潰: #include "stdafx.h" #include <boost/interprocess/managed_shared_memory.hpp> #include <boost/interprocess/a

    0熱度

    1回答

    我正在尋找使用boost進程庫的兩個線程之間的互連性的正確模式。與使用標準庫的典型並行編程不同,我不認爲這種庫具有特定的功能。 所以我正在尋找一種基本的技術,並瞭解這些同步原語的用法。 有兩個線程:writer和reader,它們使用共享內存。命名互斥體用於同步訪問共享內存中的對象(字符串和向量)。當讀取器將數據寫入共享內存時,用於等待的條件變量。所以情景是: - 閱讀器啓動並在具有數據的向量應該

    0熱度

    1回答

    我正在使用boost消息隊列在不同的進程間進行通信。我正在傳輸一個Packet類型的對象。爲此,我在發送和接收函數中使用序列化和反序列化。 然而,當我嘗試發送數據時,我收到此錯誤: 的boost :: interprocess_exception :: library_error 沒有其他資料中給出。 這就是我如何創建消息隊列。 for(i = 0; i< PROC_MAX_E ; i++){

    1熱度

    1回答

    在boost進程的所有示例中,我只能看到它在main()中被初始化。 #include <boost/interprocess/managed_shared_memory.hpp> #include <iostream> using namespace boost::interprocess; int main() { shared_memory_object::remove