Verwendet Arduino C oder C++?

Lesezeit: 2 Minuten

Benutzeravatar von memilanuk
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.

Benutzeravatar von tiwo
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

1416220cookie-checkVerwendet Arduino C oder C++?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy