Есть ли REPL для программирования на C? [закрыто]

Я на OSX. Я нашел это http://neugierig.org/software/c-repl/ но ссылки на эту страницу для кода, кажется, не работают.

 sdaau13 нояб. 2013 г., 03:29
Просто добавьте ссылку на этот пост с некоторыми примерами c-repl:stackoverflow.com/questions/1459678/…

Ответы на вопрос(3)

КЦКГ (Интерактивный GCC) REPL. Мне это нравится.

Пример:

./igcc

g++> int a = 1, b = 2;
g++> printf("%d\n", a + b);
3
g++> 

И это дает вам ошибки компиляции, как это:

g++> c = 3;
[Compile error - type .e to see it.]
g++> .e
<stdin>:14:1: error: use of undeclared identifier 'c'
c = 3;
^

(SF скачать:http://sourceforge.net/projects/igcc/files/)

Решение Вопроса

c-repl теперь можно найти наGithub хранилище, Хотя он кажется мертвым проектом (последний коммит был 3 года назад), поэтому я предлагаю также рассмотреть альтернативы:

CINT ccons Cling, successor of CINT, but only supports C++ (which might or might not be a problem, depending on what features you need)
 05 июл. 2017 г., 20:59
какой из них вы думаете, подходит для использования

GDB делает довольно хороший ответ. Вы не можете определить новые функции там, но вы можете оценить выражения (в том числе с побочными эффектами).

 14 апр. 2015 г., 21:24
GDB иногда кажется немного привередливым ... например:(gdb) print printf("test\n"); No symbol "printf" in current context.  что смешно, потому что я перешёл вызов printf!
 19 авг. 2013 г., 14:48
В Mac OS с gdb 6.3.50 приведенный выше пример дает: «оценка этого выражения требует, чтобы целевая программа была активной»
 04 апр. 2013 г., 01:26
Пример использования gdb в качестве ответа был бы неплох.
 04 апр. 2013 г., 02:46
Пример использования GDB: 1)gdb /bin/ls 2) print "Hello world"[0]   Конечно, это становится более сложным, чем это ... но даже этот простой пример иллюстрирует общую идиому языка C в ответе.
 19 авг. 2013 г., 19:21
@snow aha - верно, gdb фактически не будет работать как repl, если он не привязан к какому-либо реально запущенному процессу. Существует несколько способов добиться этого. Обычно разбиваются на «основной» работает в Linux, но системные программы, подобные & lt; ls & quot; часто не имеют этого. Следующее работало над Centos5: 1) gdb / bin / ls 2) прервать readdir 3) запустить 4) распечатать & quot; привет мир & quot;

Ваш ответ на вопрос