我想(或需要)做一些事情
char **my_array = malloc(1000*64);
strcpy(arr[0], "test");
虽然我知道 arr[0] 没有指向单独的分配内存,但我认为应该能够像这样将字符串复制到其中(但它是分段的)。这有效
arr[0] = "test";
然而那是行不通的,因为我的实际目标是在共享内存中做到这一点。
shm_array = shmget(IPC_PRIVATE, 1000 * 64, IPC_CREAT | 0644);
my_array = (char**) shmat(shm_array, (void**)0, 0);
实际上,我的问题可以改写为:“如何在共享内存中创建字符串数组?”。我尝试创建 1000 个单独的“字符串”共享内存段,但除此之外它不起作用,它似乎也是错误的。此外,我认为应该能够简单地使用相对指针偏移量写入一个大的共享内存段。