Ik ben al een tijdje aan het programmeren, maar ik ben nieuw bij Arduino en AVR Programming. De belangrijkste vraag die ik heb over het programmeren van deze microcontrollers is: zijn er grote verschillen in het ontwerpen van code in objectgeoriënteerde klassen versus de meer traditionele inline-programmering die ik in veel voorbeelden heb gezien?
Met andere woorden, zijn er in de wereld van Arduino / AVR-controllers besparingen met geheugen en prestaties door klassen te gebruiken of omgekeerd?
Stel dat we bijvoorbeeld een klasse hebben:
class SomeClass () {private: int x; int y; public: void foo (); void bar ();} SomeClass thisClass; thisClass.foo (); thisClass.bar ();
Zou er enige prestatie- of geheugenwinst zijn door het programma op een meer inline manier te ontwerpen, zoals:
int x; int y; void foo () {/ *** Doe iets *** /}; void bar () {/ *** Doe meer *** /} ;
Ik heb geprobeerd een aantal zoekopdrachten uit te voeren op Stack Exchange en Google, maar ik kon het antwoord niet helemaal vinden. Ik ben op zoek naar het dichtstbijzijnde dat ik kon vinden, was deze Stack Exchange-vraag .
De reden dat ik hiernaar vraag, is dat ik een project heb dat zo licht mogelijk moet zijn en dat ik niet duidelijk ben hoe ik mijn programma in deze omgeving moet ontwerpen.
Bewerken
Bedankt voor de antwoorden, dit heeft licht op zaken geworpen. Er is één ding waar ik niet helemaal duidelijk over ben.
Stel dat u een klasse heeft die u ontwerpt die de u8glib als volgt gebruikt:
class UserInterface {private: U8GLIB_ST7920_128X64 Display; public: UserInterface ();}
Hoe zou u "Dynamisch geheugen" gebruiken, zoals:
UserInterface :: UserInterface () {UserInterface :: Display = U8GLIB_ST7920_128X64 (LCD_E_PIN, LCD_RW_PIN, LCD_RS_PIN , U8G_PIN_NONE);}