응용 프로그램의 한 인스턴스가 구조를 만들고 mmap
또는 shm
과 같은 공유 메모리에 저장하고 다른 인스턴스가 데이터를 공유하는 프로그램을 만들고 싶습니다.문자열 데이터 형식을 공유 메모리에 저장하는 방법은 무엇입니까?
내가 겪고있는 문제 중 하나는 "공유 메모리에 문자열 데이터 형식을 쓰는 방법"입니다. 내 지식 문자열 클래스는 런타임에 메모리를 할당하므로 응용 프로그램 주소 공간에 저장됩니다. 나는 다른 프로세스와 공유하려는 구조 다음 한
... 내가이
struct Node
{
int id;
char description[20];
struct Node* child[10];
//some other data types
};
같은 구조를 사용하고 있다면 프로세스간에 데이터를 공유 할 수 있어요
struct Node
{
int id;
string description;
struct Node* child[10];
//some other data types
};
그러나 나는 char
배열을 사용하고 싶지 않습니다. 아무도 가능한 해결책을 제안 할 수 있습니다 ...
Boost.IPC의 공유 메모리 할당자를 사용할 수 있습니다. –
감사합니다. @KerrekSB, Boost 라이브러리를 확인하겠습니다. – rajenpandit
char 배열을 사용하면 해결할 수 있다고 생각하지만 사용하고 싶지 않다고 답한 것이 아닙니다. 최대 길이를 제공해야하지만 가능하면 std :: string으로 작업 할 수있는 인터페이스를 만들 수 있습니다. – stefaanv