Ich sehe an einer Stelle, dass Arduino „Standard“ C verwendet, und an einer anderen, dass es „Standard“ C++ verwendet, und so weiter und so fort.
Welches ist es?
memilanuk
Ich sehe an einer Stelle, dass Arduino „Standard“ C verwendet, und an einer anderen, dass es „Standard“ C++ verwendet, und so weiter und so fort.
Welches ist es?
Arduino-Sketches sind in C++ geschrieben.
Hier ist ein typisches Konstrukt, dem Sie begegnen werden:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
...
lcd.begin(16, 2);
lcd.print("Hello, World!");
Das ist C++, nicht C.
zwei
Beides wird unterstützt. Um die zu zitieren Arduino-Homepage,
Die Kernbibliotheken sind in C und C++ geschrieben und mit avr-gcc kompiliert
Beachten Sie, dass C++ eine Obermenge von C ist (na ja, fast) und können daher oft sehr ähnlich aussehen. Ich bin kein Experte, aber ich denke, dass das meiste, was Sie in Ihrem ersten Jahr auf dieser Plattform für den Arduino programmieren werden, nichts anderes als einfaches C benötigen wird.
C ist in der Tat fast eine Teilmenge von C++. Nicht beschissener C-Code sieht jedoch ganz anders aus als nicht beschissener C++-Code.
– Benutzer395760
4. August 2012 um 23:58 Uhr
Stimmt, aber nicht beschissener C-Code wird es tun kompilieren als C++ (und C-Programme, die nicht C++ sind, sind beschissen). Natürlich beschränkt sich guter C++-Code nicht künstlich und willkürlich auf C.
– zwei
5. August 2012 um 0:03 Uhr
Immer noch nein. Zum Beispiel der Rückgabewert von malloc
sollte in C nicht gecastet werden, in C++ ist es jedoch obligatorisch. Nun, es ist großartig, C++ zu erlauben, C-Code zu verknüpfen und mit ihm zu interagieren, aber dafür müssen Sie meistens einige reservierte Wörter vermeiden und eine Bedingung (Präprozessor) hinzufügen. extern "C"
zur Kopfzeile. Das ist doch ein ziemlicher Unterschied. Außerdem gibt es eine ganze Reihe schöner C99- und C11-Features, die C++ nicht unterstützt; Warum sollte sich guter C-Code künstlich auf eine Teilmenge von C++ beschränken?
– Benutzer395760
5. August 2012 um 0:10 Uhr
@tiwo Nicht beschissener C-Code wird definitiv nicht mit einem C ++ – Compiler kompiliert. Zum Beispiel, wann immer Sie verwenden Arrays mit variabler Länge es wird nicht kompiliert. Oder wann immer Sie es verwenden Strukturliterale.
– fuz
15. November 2016 um 12:07 Uhr
C++ vs. die Arduino-Sprache?
– phuklv
20. Oktober 2020 um 7:29 Uhr