请允许我说,Im 建造一个图书馆,在C区进行间歇。
质量需要两个国家变量,才能成功推广:
static int quux_state;
static char* quux_address;
/* function to spork quuxes found in a file,
reads a line from the file each time it s called. */
void spork_quux(FILE*);
如果我把这一数据作为全球变量加以储存,那么只有一位客户能够在某个时候进行间歇,否则国家变量就会被第二名电线员操纵,而灾难可能随之发生。
问题是,在C设计巡回图书馆的最佳方式是什么?
我审理了以下案件,但没有得出令人满意的结论。
在以下情况下,问题是如何将客户与每个国家联系起来?
/* library handles all state data allocation */
static int* quux_state;
static char** quux_address;
在以下情况下,客户能够向国家传递信息,这是不受欢迎的。
/* let each client store state */
typedef struct { int state; char* address; } QuuxState;
QuuxState spork_quux(FILE*);
因此,如何适当做到这一点?