将变量值从一个执行保留到另一个执行

时间:2011-05-01 05:52:27

标签: c

您好 考虑我有两个程序a.cb.c。程序b.c使用a.cexecve()执行多次。我希望将b.c中定义的变量和数据结构的值从一个执行保留到另一个执行。有办法吗?

谢谢

2 个答案:

答案 0 :(得分:2)

加载b.c并将其状态保存到文件中。

答案 1 :(得分:2)

您可以让a.c设置一个shared memory块,然后b.c可以将其状态数据存储在该共享内存中。当然,b.c必须依赖a.c来管理其状态,但如果b.c只存在于a.c,则该问题应该不会成为问题。

或者,您可以将所有状态数据存储在一个struct中,并使用fwritefread来存储和检索状态。或者您可以使用mmap来简化此方法。如果你的某些州涉及指针,你必须要小心。您不必为此方法使用单个结构,但它会更容易。