Ich bin auf osx. ich habe das gefunden
http://neugierig.org/software/c-repl/
aber die Links auf dieser Seite für Code scheinen defekt zu sein.
Gibt es eine REPL für die C-Programmierung? [closed]
Habe gerade die gefunden IGCC (Interaktiver GCC) ERSATZ. Ich mag das.
Beispiel:
./igcc
g++> int a = 1, b = 2;
g++> printf("%d\n", a + b);
3
g++>
Und es gibt Ihnen Kompilierungsfehler wie diese:
g++> c = 3;
[Compile error - type .e to see it.]
g++> .e
<stdin>:14:1: error: use of undeclared identifier 'c'
c = 3;
^
(SF-Download: http://sourceforge.net/projects/igcc/files/)
-
Es gibt eine aktualisierte Version (Python 3) unter github.com/alexandru-dinu/igcc
– Endolith
4. Dezember 2020 um 16:25 Uhr
gdb macht einen ziemlich guten REPL. Sie können dort keine neuen Funktionen definieren, aber Sie können Ausdrücke (einschließlich solcher mit Seiteneffekten) auswerten.
-
Ein Beispiel für die Verwendung von gdb als Antwort wäre nett.
– Benutzer67416
3. April 2013 um 23:26 Uhr
-
Ein Beispiel für die Verwendung von gdb: 1)
gdb /bin/ls
2)print "Hello world"[0]
Natürlich wird es komplizierter als das … aber selbst dieses einfache Beispiel veranschaulicht ein gängiges C-Idiom in einem Repl– gcbenison
4. April 2013 um 0:46 Uhr
-
@snow aha – richtig, gdb funktioniert nicht wirklich als Repl, es sei denn, es ist an einen tatsächlich laufenden Prozess angehängt. Es gibt mehr als einen Weg, dies zu erreichen. Normalerweise funktioniert das Breaking auf “main” unter Linux, aber Systemprogramme wie “ls” haben dies oft nicht. Folgendes funktionierte auf Centos5: 1) gdb /bin/ls 2) readdir unterbrechen 3) ausführen 4) „hello world“ ausgeben
– gcbenison
19. August 2013 um 17:21 Uhr
-
gdb scheint manchmal etwas pingelig zu sein … zum Beispiel:
(gdb) print printf("test\n");
No symbol "printf" in current context.
Das ist lustig, weil ich gerade einen Aufruf von printf übersprungen habe!– Michael
14. April 2015 um 19:24 Uhr
-
Diese Antwort erfüllt nicht das, was ich als Mindestqualifikation für eine Antwort betrachten würde:
(gdb) int a = 5; Ambiguous command "int a = 5;": internals, interpreter-exec, interrupt. (gdb)
– Evan Caroll
23. August 2018 um 20:23 Uhr
Niklas B.
Scheint wie der Code von c-Ersatz finden Sie jetzt unter a Github-Repository. Es scheint jedoch ein totes Projekt zu sein (das letzte Commit war vor 3 Jahren), daher würde ich vorschlagen, auch nach Alternativen zu suchen:
- CINT Archivierte alte offizielle Seite von web.archive.org oder “Masaharu Goto” CINT-Seite
- cons GitHub oder code.google
- HaftenNachfolger von CINT, unterstützt aber nur C++ (was ein Problem sein kann oder auch nicht, je nachdem, welche Funktionen Sie benötigen)
-
Welche davon halten Sie für geeignet?
– 0.sch
5. Juli 2017 um 18:59 Uhr
Fügen Sie einfach einen Link zu diesem Beitrag mit einigen C-Repl-Beispielen hinzu: stackoverflow.com/questions/1459678/…
– sdaau
13. November 2013 um 2:29 Uhr
Siehe auch Gibt es einen Interpreter für C?
– ggorlen
2. September 2021 um 19:38 Uhr