Tôi đã viết thư viện cho dự án của mình (hiện tại tôi đang sử dụng Arduino). Vấn đề mà tôi có là string
trong C++ và Arduino khác nhau.Làm thế nào để kết hợp các chuỗi C++ và các chuỗi Arduino?
Tức là, tôi muốn thư viện của mình độc lập với Arduino, vì vậy tôi đang sử dụng #include <string>
và sau đó khai báo string s;
. Tuy nhiên trong chuỗi Arduino được xác định bởi Arduino và tuyên bố String s2
.
Khi tôi đưa thư viện của mình vào bản vẽ, tôi nhận được error: string: No such file or directory
trên dòng nơi tôi cố gắng đưa thư viện chuỗi C++ (#include <string>
).
Có cách nào để làm cho Arduino sử dụng thư viện chuỗi C++ hoặc chuyển chuỗi thành chuỗi Arduino khi biên dịch không?
Cảm ơn. Tôi sẽ cố gắng sử dụng char * sau đó, vì tôi không cần nhiều dây. – Tautvydas
Làm cách nào để có thể triển khai C++ mà không có toán tử 'new' hoặc' delete'? Nó sẽ không phá vỡ mọi thứ? – anthropomorphic
Với C++, có thể tạo các đối tượng trên ngăn xếp với bộ nhớ tự động, trong khi không sử dụng vùng heap. Bạn chỉ cần không sử dụng con trỏ và "mới" trong khi tạo đối tượng. Đối tượng sau đó được tự động xóa ở cuối phạm vi, giống như nguyên thủy cổ điển. Với Arduino, đó là lý do tại sao các đối tượng thường được tạo ra bên ngoài bất kỳ hàm nào trong phạm vi toàn cục, và sau đó được intialized bên trong hàm setup() (ít được thực hiện trong hàm tạo, một hàm init() như được ưu tiên). Sau đó chúng có thể được sử dụng trong hàm loop() mà không phải chuyển bất kỳ tham chiếu con trỏ nào tới vòng lặp(). –