Zastanawiałem się, czy istnieje coś takiego jak interpreter języka C. To znaczy, że w terminalu Linuksa mogę wpisać „python”, a następnie kodować w tym interpreter. (Nie jestem pewien, czy interpretuję właściwe słowo). Jest to bardzo pomocne przy testowaniu różnych rzeczy i jestem ciekawy, czy coś podobnego istnieje w przypadku C. Chociaż wątpię w to. Jedyną rzeczą, o której mogę pomyśleć, byłaby powłoka C ...
111
Odpowiedzi:
Jest ich wiele - jeśli zawęzisz zakres swojego pytania, być może będziemy w stanie zasugerować kilka specyficznych dla Twoich potrzeb.
Godnym uwagi interpretatorem jest „ Ch: AC / C ++ Interpreter for Script Computing ” szczegółowo opisane w Dr. Dobbs:
Standard Ch jest darmowy, ale nie open source. Tylko Ch professional ma możliwości kreślenia i inne funkcje, których możesz chcieć.
Nigdy wcześniej na to nie patrzyłem, ale posiadanie tłumacza AC pod ręką wydaje się bardzo przydatne i prawdopodobnie dodam coś do mojego zestawu narzędzi. Dzięki za pytanie!
Edytować:
Właśnie się dowiedziałem, że jeden z moich ulubionych kompilatorów, TCC , będzie wykonywał skrypty C:
źródło
tcc
wychodzi ze statusem10
. Wygląda na to, że musisz wyraźnie dodaćreturn 0
darowiznęecho 'main(){puts("hello"); return 0;}' | tcc -run -
picoc - bardzo mały interpreter języka C.
źródło
projekt ROOT dostarcza bardzo funkcjonalnego interpretera C i C ++ o nazwie Cint . Bardzo mi się to podoba. Trzeba jednak trochę przyzwyczaić się do interpretacji.
TCC to również bardzo dobry wybór, ale nie jestem w stanie ręczyć za jego REPL
źródło
Prawdopodobnie. Istnieje kilka dla C ++. Zobacz Czy użyłeś któregoś z interpreterów języka C ++ (nie kompilatorów)? dla przykładów. Z pewnością cint zjada prawie każdy kod c z dobrymi wynikami, a tcc jest tak szybki, że można go używać jak interpretera.
źródło
Spójrz na tłumacza języka Ch .
źródło
Wiem, że używamy CINT na zajęciach. Wydawało się całkiem niezłe, że możesz spróbować!
źródło
Sprawdź iGCC
źródło
cinterp
jest jednym na początek.źródło
ccons wydaje się spełniać Twoje ograniczenia:
źródło
Niedawno pojawił się Cling (oparty na LLVM / Clang)
http://root.cern.ch/drupal/content/cling
źródło
Możesz użyć CompCert. Oto kilka przykładów: http://compcert.inria.fr/man/manual004.html
źródło
Zrobiono to, mimo że zdecydowana większość pracy w C jest skompilowana. Jednym z przykładów jest CH
źródło
CERN ma zestaw narzędzi o nazwie ROOT, który jest przeznaczony głównie do celów naukowych lub analizy danych itp., Ale ma oparty na Clang interpreter C / C ++ o nazwie
Cling
.Przed przystosowaniem używali interpretera języka C o nazwie CINT
Cling
. CINT jest lekki i nadal wydaje się dostępny do pobrania.Myślę, że możesz zdobyć inne, uważnie przeszukując artykuły z listy Wikipedii.
źródło