C语言的REPL
2024/12/3 想起来又更新
问了GPT,
离线的包括: CRePL, cling
在线的包括: replit.
cling
https://github.com/root-project/cling
需要clone llvm和cling然后自己make, 比较费事.而且这俩clone下来一共3GB, make的临时目录也4.5GB这你受得了.
最重要的是在win11下编译居然没有成功.
还好在这儿https://root.cern/download/cling/有cling编译好的linux版本.
windows的bash是ubuntu 2204的, 下载最新版本https://root.cern/download/cling/cling_2020-11-05_ROOT-ubuntu2004.tar.bz2
进入bash解压缩并运行:
tar -xvjf cling_2020-11-05_ROOT-ubuntu2004.tar.bz2
cd cling_2020-11-05_ROOT-ubuntu2004/bin
./cling
进入有报错,感觉是ubuntu版本不匹配导致的,
ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths!
Invoking:
LC_ALL=C x86_64-linux-gnu-g++-9 -O3 -DNDEBUG -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.include/,${' -e '/^ \/.*++/p' -e '}'
Results was:
With exit code 0
Warning in cling::IncrementalParser::CheckABICompatibility():
Possible C++ standard library mismatch, compiled with __GLIBCXX__ '20200808'
Extraction of runtime standard library version was: '20220421'
****************** CLING ******************
* Type C++ code and press enter to run it *
* Type .q to exit *
*******************************************
[cling]$
为了方便从windows直接进入, 创建一个cling.bat
文件,内容指向bash下的cling文件:
wsl /mnt/d/folder/to/cling_2020-11-05_ROOT-ubuntu2004/bin/cling
IGCC
https://github.com/alexandru-dinu/igcc
这东西安装是个套娃, 装igcc要先装Pipx,装pip需要先装scoop...
顺利装完后, 发现依赖于一个pip包名字叫readline...
Ch
https://www.softintegration.com/download/
不开源还收费
CRePL
有几个号称c-REPL的. 但要么很久不维护要么没开发几个版本. 放弃.
https://l-m.dev/cs/crepl/
https://github.com/evmar/c-repl
在线版 replit
replit 需要注册 https://replit.com/languages/c
在线版 jdoodle
无需注册
jdoodle https://old.jdoodle.com/c-online-compiler/