我正在研究一個項目變得越來越複雜。項目由彼此獨立的代碼部分組成,其中包含大量的數學計算,然後是複雜的輸出生成。所有這些都用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 ...},但也許有更好的方法可以做到這一點?
有關管理這種事情的任何其他想法和建議也表示讚賞。
謝謝。
P.S.
由於使用線程,使用全局作用域不是一個選項。只是將變量傳遞給函數不是一個選項,它將需要30多個參數。我已經有了一堆結構,因此將所有變量放入一個結構體中不是一個選項ether。
如果你不關心可移植性,那麼你可以考慮使用gcc的嵌套函數支持。 –
使用GCC本地函數定義。 – BLUEPIXY