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
}
또는
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
}
나에게 단서를 제공하십시오 : 그것은 뭔가처럼 될 것입니다.