Gibt es eine REPL für die C-Programmierung? [closed]

Lesezeit: 2 Minuten

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.

  • 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

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/)

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

Benutzeravatar von Niklas B
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:

  • Welche davon halten Sie für geeignet?

    – 0.sch

    5. Juli 2017 um 18:59 Uhr

1411490cookie-checkGibt es eine REPL für die C-Programmierung? [closed]

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

Privacy policy