我需要在C / C ++中定义不同可执行文件之间的共享结构。我怎样才能做到这一点? 在我的starter.c文件中:
pid_t child = fork();
if (child > 0) {
// Parent.
... // detach shared memory
argv[0] = "./app1";
execv(argv[0], argv);
}
else {
// Child.
argv[0] = "./app2";
execv(argv[0], argv);
}
更新:
如果我在 start.h 定义一个类,我会遇到分段错误, 在共享内存中使用 fork()创建它(使用MAP_SHARED),并在app1.c中访问它的成员(如shared_class-> s)
所以问题是:如何保持exec之后的类/变量?