Ich habe mich gefragt, ob es so etwas wie einen Interpreter für C gibt. Das heißt, in einem Linux-Terminal kann ich “python” eingeben und dann diesen Interpreter codieren. (Ich bin mir nicht sicher, ob der Dolmetscher das richtige Wort hat). Dies ist wirklich hilfreich, um verschiedene Dinge auszuprobieren, und ich bin neugierig, ob es etwas Ähnliches für C gibt. Obwohl ich es bezweifle. Das einzige, was mir einfällt, wäre die C-Shell …
Gibt es einen Interpreter für C? [closed]
devin
Adam Davis
Es gibt viele – Wenn Sie den Umfang Ihrer Frage eingrenzen, können wir möglicherweise einige speziell für Ihre Bedürfnisse vorschlagen.
Ein bemerkenswerter Interpret ist “Ch: AC/C++-Interpreter für Script-Computing“ detailliert in Dr. Dobbs:
Ch ist ein vollständiger C-Interpreter, der alle Sprachfeatures und Standardbibliotheken des ISO-C90-Standards unterstützt, aber C um viele High-Level-Features wie String-Type und Computational Arrays als erstklassige Objekte erweitert.
Ch-Standard ist Freeware aber nicht opensource. Nur Ch Professional verfügt über die Plot-Fähigkeiten und andere Funktionen, die man sich wünschen könnte.
Ich habe mir das noch nie angesehen, aber einen AC-Interpreter zur Hand zu haben, klingt sehr nützlich und etwas, das ich wahrscheinlich meinem Toolset hinzufügen werde. Danke für die Frage!
Bearbeiten:
Ich habe gerade herausgefunden, dass einer meiner Lieblingscompiler, TCCführt C-Skripte aus:
Es verarbeitet auch C-Skriptdateien (fügen Sie einfach die Shebang-Zeile “#!/usr/local/bin/tcc -run” zur ersten Zeile Ihrer C-Quellcodedatei unter Linux hinzu, um sie direkt auszuführen.
TCC kann C-Quellcode von der Standardeingabe lesen, wenn ‘-‘ anstelle von ‘infile’ verwendet wird. Beispiel:
echo 'main(){puts("hello");}' | tcc -run -
-
Ich wünschte, eine Version von CH wäre unter einer vom OSI genehmigten Lizenz verfügbar, damit sie verteilt werden könnte. Sie können mit ihrem Interpreter wirklich schöne Dienstprogramme entwerfen, leider sind sie einfach zu problematisch, um sie zu bündeln.
– Tim Post
25. Februar 2009 um 4:56 Uhr
-
Das wäre nett. Freeware ist besser als nichts, aber bis es jemand tut…
– Adam Davis
25. Februar 2009 um 5:01 Uhr
-
Seltsamerweise,
tcc
Ausgänge mit Status10
standardmäßig. Es sieht so aus, als müssten Sie explizit a hinzufügenreturn 0
gebenecho 'main(){puts("hello"); return 0;}' | tcc -run -
– Greg Nisbet
23. Dezember 2016 um 21:27 Uhr
Picoc – Ein sehr kleiner C-Interpreter
PicoC ist ein sehr kleiner C-Interpreter für Scripting. Es wurde ursprünglich als Skriptsprache für das Flugsystem eines UAV an Bord geschrieben. Es eignet sich auch sehr gut für andere robotische, eingebettete und nicht eingebettete Anwendungen.
Das ROOT-Projekt bietet einen sehr funktionalen C- und C++-Interpreter namens Cint. Ich mag es sehr. Allerdings ist die Interpretation etwas gewöhnungsbedürftig.
TCC ist auch eine sehr gute Wahl, aber ich kann nicht für seine REPL bürgen
-
Lässt das ROOT-Team Cint nicht auslaufen?
– Z-Boson
27. April 2015 um 8:46 Uhr
-
@Zboson “CERN hat auf einen neuen Interpreter umgestellt, klammern Sie sich fest. CINT wird nicht mehr von CERN unterstützt.”
– Endolith
30. November 2017 um 15:24 Uhr
-
ROOT ersetzt cint durch cling. Haften kann also als aktualisierte Empfehlung genommen werden. (obwohl – siehe andere Antworten – cling ist C++, nicht C, falls das relevant ist, obwohl iirc cint auch etwas C++ gemacht hat)
– pseifert
27. März 2018 um 9:51 Uhr
dmckee — Ex-Moderator-Kätzchen
Wahrscheinlich. Es gibt mehrere für c++. Siehe Haben Sie einen der C++-Interpreter (keine Compiler) verwendet? zum Beispiel. Sicherlich zint frisst fast jeden C-Code mit guten Ergebnissen, und tcc ist so schnell, dass Sie es wie einen Dolmetscher verwenden können.
Werfen Sie einen Blick auf die Ch. Dolmetscher.
Ch ist ein integrierbarer C/C++-Interpreter für plattformübergreifendes Scripting, Shell-Programmierung, 2D/3D-Plotten, numerische Berechnungen und eingebettetes Scripting.
Javed Ahmed
Ich weiß, dass wir CINT im Unterricht verwenden. Es schien ziemlich gut zu sein, vielleicht möchten Sie es versuchen!
Neel Basu
Kasse iGCC
Das richtige Wort für das, was Sie wollen, ist “shell” oder “prompt” oder “REPL” (Read-Eval-Print-Loop, in Anlehnung an die 4 Lisp-Befehle, die verknüpft werden müssen, um einen Lisp-Interpreter in Lisp zu erstellen), aber an Dolmetscher würde funktionieren.
– Chris Lutz
25. Februar 2009 um 4:40 Uhr
Übrigens, der Begriff, nach dem Sie suchen, ist REPL (Read Evaluate Print Loop).
– Zimon
25. Februar 2009 um 5:05 Uhr
Duplikat von Gibt es eine REPL für die C-Programmierung?
– Janus Troelsen
31. Januar 2014 um 12:29 Uhr
Das bevorzugte Wort ist eigentlich “interaktive” Umgebung für C. Eine interaktive Umgebung öffnet eine für die Sprache spezifische Shell oder Eingabeaufforderung. REPL ist auch gut.
– jchuks
2. Januar 2017 um 18:37 Uhr
Eine umfassende Liste von Interpretern und Compilern für C/C++ finden Sie hier: thefreecountry.com/compilers/cpp.shtml
– froschig
8. Mai 2018 um 1:43 Uhr