1
我要創建的程序,其中應用程序的一個實例將創建結構並放入共享存儲器等mmap
shm
或和其他實例將共享數據。我面臨着如何將字符串數據類型存儲在共享內存中?
的一個問題是「如何寫字符串數據類型爲共享內存」,按我的知識串級將在運行時分配內存,並且會在應用程序的地址空間。
我有以下的結構,我想與其他進程共享...
struct Node
{
int id;
string description;
struct Node* child[10];
//some other data types
};
我能進程之間共享數據,如果我使用的結構是這樣
struct Node
{
int id;
char description[20];
struct Node* child[10];
//some other data types
};
但我不想使用char
陣列,任何人都可以爲任何可能的解決方案提出建議...
您可以使用Boost.IPC的共享內存分配器。 –
謝謝@KerrekSB,我會檢查Boost庫。 – rajenpandit
因爲你說你不想使用它,所以沒有答案,儘管我認爲char數組對你來說是一個解決方案。您必須提供最大長度,但您可以使界面儘可能使用std :: string。 – stefaanv