我有一个结构看起来像:
typedef struct shared_data_t
{
char *key;
char *message;
}shared_data;
我需要与另一个无关的进程共享这个结构。我使用了POSIX共享内存并使用shm_open()/mmap()来实现。但是我的目标进程没有获得共享数据,并且由于SIGSEGV而终止,这是显而易见的。如果有人能帮我解决这个问题,特别是在使用共享内存(shm_open和mmap)共享指针时会发生什么,那就太好了。
对于这样的一个结构:
typedef struct shared_data_t
{
char key[8];
char message[32];
}shared_data;
它运行得很好!