您好
考虑我有两个程序a.c
和b.c
。程序b.c
使用a.c
从execve()
执行多次。我希望将b.c
中定义的变量和数据结构的值从一个执行保留到另一个执行。有办法吗?
谢谢
答案 0 :(得分:2)
加载b.c
并将其状态保存到文件中。
答案 1 :(得分:2)
您可以让a.c
设置一个shared memory块,然后b.c
可以将其状态数据存储在该共享内存中。当然,b.c
必须依赖a.c
来管理其状态,但如果b.c
只存在于a.c
,则该问题应该不会成为问题。
或者,您可以将所有状态数据存储在一个struct
中,并使用fwrite
和fread
来存储和检索状态。或者您可以使用mmap
来简化此方法。如果你的某些州涉及指针,你必须要小心。您不必为此方法使用单个结构,但它会更容易。