0
我想用GMainLoop
。我想知道使用全局變量還是局部變量會更好。我想每5秒調用一次函數。它使用了一些堆變量,我只想malloc一次。我有兩個想法。我可以將所有參數放在一個結構體中。但有時它會是結構體struct中的結構體。所以名稱命名會很複雜並且不好讀。我也可以讓所有的數據全面。這將是這樣的:我應該更好地使用全局變量嗎?
typedef struct data_t
{
unsigned char *pUncompressStreamData;
unsigned char *pStartUncompressStreamData
analyzers_t analyzers;
GTree *tree;
}data_t;
main_loop(data_t data)
{
//data_mallocs and other stuff
}
int main()
{
data_t data;
g_timeout_add_seconds (5, main_loop, data);
/free all data member
}
OR
unsigned char *pUncompressStreamData;
unsigned char *pStartUncompressStreamData
analyzers_t analyzers;
GTree *tree;
main_loop(data_t data)
{
//data_mallocs and other stuff
}
int main()
{
g_timeout_add_seconds (5, main_loop, NULL);
/free all data member
}
請給我的線索。