OO와 유사한 기술을 사용하여 C의 중간 임베디드 응용 프로그램을 작성 중입니다. 내 "클래스"는 데이터 구조체와 함수 포인터 구조체를 사용하여 캡슐화, 다형성 및 종속성 주입을 에뮬레이트하는 .h / .c 모듈입니다.
이제 myModule_create(void)
함수에 myModule_destroy(pointer)
대응 하는 기능 이있을 것으로 예상 됩니다. 그러나 프로젝트가 임베드되어 있으며 실제로 인스턴스화되는 리소스는 절대 공개되지 않아야합니다.
즉, 4 개의 UART 직렬 포트가 있고 필요한 핀과 설정으로 4 개의 UART 인스턴스를 만드는 경우 런타임 중에 어느 시점에서 UART # 2를 파괴 할 이유가 전혀 없습니다.
YAGNI (필요하지 않을 것입니다) 원칙에 따라 소멸자를 생략해야합니까? 이것은 나에게 매우 이상해 보이지만 나는 그것들을 사용할 생각을 할 수 없다. 장치 전원이 꺼지면 리소스가 해제됩니다.
myModule_create(void)
기능이 있습니까? 사용하려는 특정 인스턴스를 노출하는 인터페이스에 하드 코딩 할 수 있습니다.