2017-05-11 6 views
-3

여러 Arduino Uno 마이크로 컨트롤러가있는 임베디드 응용 프로그램을위한 에이전트 기반 제어 시스템을 설계하고 싶습니다. 저는 C++에서 그렇게하고 싶습니다. 왜냐하면 주로 제가 가장 잘 알고있는 언어이기 때문입니다. 런타임 메모리 할당 및 기타 동적 작업을 염두에두고 (새롭고 던지기가 겉보기에는 큰 문제 였음) 가상 기본 클래스 및 다중 상속 사용에 대한 경고가 나타났습니다 (모든 후자에 대한 팬이 없습니다. 신청). 그러나 나는 일반적으로 상속에 대한 언급, 특히 다단계 상속을 찾을 수 없었다.임베디드 장치에서 C++에 대해 다중 레벨 상속이 문제가됩니까?

내가 아는 한, 상속 트리의 깊이는 성능에 영향을주지 않아야하지만, 시작하기 전에 확실히하고 싶었습니다. 필자는 코딩 스타일에 관한 조언 (즉, 일반적으로 임베디드 시스템에서 상속을 사용하는 것이 바람직한지 여부)에 관심이 있습니다.

도움 주셔서 감사합니다. 더 자세히 설명해야하는지 알려주세요.

+1

http://stackoverflow.com/questions/7210412/what-is-the-cost-of-inheritance – Lanting

+0

EC++ (임베디드 C++)에 대해 이야기하면 다중 상속이 작동하지 않을 수 있습니다. 그래도 구성을 사용할 수 있습니다. – mutantkeyboard

+0

의견에 감사드립니다. @mutantkeyboard, 왜 다중 상속은 EC++에서 작동하지 않습니까? 내가 이해하는 한, 그것은 C++의 유일한 방언 일 뿐이다 ... – Kirjain

답변

1

상속은 코멘트에 언급 된 몇 가지주의 사항을 제외하고는 중요하지 않습니다. 당신이 직면하는 제약은 Uno의 중심에있는 마이크로 컨트롤러의 제약입니다. RAM의 2048 바이트, 1024 바이트의 EEPROM 및 32K의 플래시를 가지고 있습니다. ATmega 328의 데이터 시트를 연구하면 프로그램이 적합하고 실행되면 상속 계층 구조가 중요하지 않습니다.