Piszę bibliotekę do mojego projektu (na razie używam Arduino). Problem, który mam, polega na tym, że string
w C++ i Arduino różnią się.Jak łączyć łańcuchy C++ i łańcuchy Arduino?
To jest, chciałbym, aby moja biblioteka była niezależna od Arduino, więc używam #include <string>
, a później deklaruję string s;
. Jednak w Arduino łańcuchy są definiowane przez Arduino i deklarowane jako String s2
.
Kiedy to moją bibliotekę do szkicu dostaję error: string: No such file or directory
na linii, gdzie staram się to biblioteka C++ ciąg (#include <string>
).
Czy istnieje sposób, aby Arduino używał biblioteki ciągów C++ lub konwertował ciąg znaków na ciąg Arduino podczas kompilowania?
Dzięki. Spróbuję użyć char *, ponieważ nie potrzebuję wielu strun. – Tautvydas
Jak można wdrożyć C++ bez operatorów 'new' lub' delete'? Czy to nie zepsuje prawie wszystkiego? – anthropomorphic
W C++ możliwe jest tworzenie obiektów na stosie z automatycznym przechowywaniem, bez użycia sterty. Po prostu nie używaj wskaźników i "nowych" podczas tworzenia obiektów. Obiekt jest następnie automatycznie usuwany na końcu zakresu, tak jak klasyczny prymityw. Z Arduino, dlatego obiekty są generalnie tworzone poza dowolnymi funkcjami w zasięgu globalnym, a następnie intializowane wewnątrz funkcji setup() (niewiele zrobiono w konstruktorze, preferowana jest funkcja init()). Można je następnie wykorzystać w funkcji loop() bez konieczności przekazywania jakichkolwiek odniesień do pętli(). –