我正在做一个越来越复杂的项目。项目由彼此独立的代码部分组成,其中包含大量数学计算,然后是复杂的输出生成。所有这些都用 pthread 包裹在一个套接字中。
整个事情看起来像这样:
Main() -> 套接字 -> 线程 -> 请求处理 -> 一个或多个独立部分
我想将每个独立的代码部分包含在一个函数中,并让该函数从调用者函数继承变量,但这不起作用。
以下是我想要实现的简化版本:
void func_a(){int c;b+=a;c=1;b+=c;}
int main(){
int a,b,c;
a=3;b=2;c=0;
func_a();
printf("b:%d c:%d\n",b,c);
return 1;
}
上面的代码不起作用,但这一个工作正常,并且可以满足我的要求:
int main(){
int a,b,c;
a=3;b=2;c=0;
{int c;b+=a;c=1;b+=c;}
printf("b:%d c:%d\n",b,c);
return 1;
}
我可以将函数代码放入文件中,然后执行 { #include ... },但也许有更好的方法来做到这一点?
任何其他关于管理此类事情的想法和建议也值得赞赏。
谢谢。
附言
由于线程,使用全局范围不是一种选择。仅将变量传递给函数不是一种选择,它将需要 30 多个参数。我已经有一堆结构在进行,因此将所有变量放入单个结构中并不是一个选项。