필자는 익숙한 것보다 큰 프로젝트를 진행하고 있으며 코드를 올바르게 구조화하기 위해 최선을 다하고 있습니다. 나는 마이크로 컨트롤러를 프로그래밍하고 있으며 여기에서 읽은 조언에 따라 전역 변수를 사용할 수있는 "global_variables.h"파일에 정의 된 일부 전역 변수가 있습니다.소스에 "typedef enum"을 어디에 두어야합니까?
전역 변수에 대한 typedef를 "global_variables.h"파일에도 넣습니다.
제가 실행중인 문제는 전역 변수를 사용하는 file1.c에 새로운 typedef를 매개 변수로 허용하는 function1 (new_type_t 변수)이 있다는 것입니다. 이 문제는 내가 header1 (file1.h)에 정의 된 function1 프로토 타입을 가지고 있지만, #include "global_variables.h"는 file1.c에 있기 때문에 file1.h의 함수 프로토 타입은 typedef를 보지 못한다. .
나는 이것이 일반적인 사건이라고 생각하지만 인터넷 검색은 너무 많은 도움을주지 못했습니다. 별도의 "global_variables.h"및 "global_variables_types.h"를 만들고 다른 파일의 헤더와 소스의 .c 파일에 .h 파일을 포함시켜야합니까?
file1.h에서'#include "global_variables.h"'만 필요합니다. –
그가 말하려는 분할은 빌딩 블록을 더 작게 만들 것이므로 다소 유연하다고 생각합니다. – Dabbler
프로젝트 규모는 어느 정도입니까? 전체 크기는 1KLOC (1000 개 소스 코드 라인), 10KLOC, 100KLOC ??? –