(프로그래밍 갤에도 씀)

임베디드 개발에 C 쓰다가 이번에 goat C++ 갈아탔음.


예를 들어 서보제어용 클래스와 통신용 클래스 두 개를 각각 만들었음. 이걸 하나의 클래스에서 중앙 관리하기 위해 시스템 클래스를 추가로 만들었다.


그럼 여기서 선택지가 생기는데


1) 주변 오브젝트들을 시스템 클래스의 멤버로 정의.

2) 클래스 포인터를 멤버로 두고 주변 오브젝트들은 외부에서 정의 후 포인터 연결.

3) 주변 오브젝트 각각 시스템 클래스를 상속하도록하고 공유해야 하는 데이터는 static으로 정의


1) 의 경우 시스템 클래스 정의할 때 멤버 오브젝트도 한방에 정의되므로 간편한데 자꾸 mcu에서 hard fault 남. 메모리 문제인지 컴파일 최적화 때문인지는 모르겠음. volatile 적용해서 디버깅할 생각인데 안 될 경우 2)번으로 가야 되는 상황. 얘는 정상작동 확인함. 3)은 아직 안 해봄. 오버로딩 때문에 작성 자체가 개귀찮을 것으로 예상.


보통 앱 개발 시에는 어떤 게 일반적임? 고수가 있을 것 같지는 않은데 있으면 도움.