Tôi đã lập trình được khá lâu nhưng tôi chưa quen với Lập trình Arduino và AVR. Câu hỏi chính tôi có về lập trình các bộ điều khiển vi mô này là có sự khác biệt lớn trong việc thiết kế mã trong Các lớp hướng đối tượng so với lập trình nội tuyến truyền thống hơn mà tôi đã thấy trong nhiều ví dụ không?
Nói cách khác trong thế giới của Bộ điều khiển Arduino / AVR có tiết kiệm nào với các lớp sử dụng Bộ nhớ và Hiệu suất hoặc ngược lại không?
Nói ví dụ, chúng tôi có một Lớp:
class SomeClass(){
private:
int x;
int y;
public:
void foo();
void bar();
}
SomeClass thisClass;
thisClass.foo();
thisClass.bar();
Sẽ có bất kỳ hiệu suất hoặc tăng bộ nhớ nào khi thiết kế chương trình theo kiểu nội tuyến hơn như:
int x;
int y;
void foo(){ /*** Do something ***/};
void bar(){ /*** Do more stuff ***/};
Tôi đã thử thực hiện một số tìm kiếm trên Stack Exchange và Google nhưng không thể tìm thấy câu trả lời mà tôi đang tìm kiếm thứ gần nhất tôi có thể tìm thấy là Câu hỏi về Stack Exchange này.
Lý do tôi hỏi về điều này là tôi có một dự án cần phải nhẹ nhất có thể và tôi không rõ làm thế nào tôi nên thiết kế chương trình của mình trong môi trường này.
Biên tập
Cảm ơn bạn đã trả lời, điều này đã làm sáng tỏ mọi thứ. Có một điều mà tôi không rõ lắm.
Giả sử bạn có một lớp mà bạn đang thiết kế sử dụng u8glib như sau:
class UserInterface{
private:
U8GLIB_ST7920_128X64 Display;
public:
UserInterface();
}
Bạn sẽ sử dụng "Bộ nhớ động" như thế nào:
UserInterface::UserInterface(){
UserInterface::Display = U8GLIB_ST7920_128X64(LCD_E_PIN, LCD_RW_PIN, LCD_RS_PIN, U8G_PIN_NONE);
}