强大的在线编译器工具Compiler Explorer
昨天是南方的小年夜,调休,一早上班遇到 2023 年的第一场雪,好兆头
(视频来自老苏的朋友圈,采用了慢动作拍摄)
什么是 Compiler Explorer ?
Compiler Explorer是一个交互式编译器探索网站。支持C、C++、C#、F#、Rust、Go、D、Haskell、Swift、Pascal、ispc、Python、Java或任何其他30多种语言编辑代码,允许我们以交互方式编写、编译和反汇编源代码,所有这些都可以在浏览器中轻松完成。可以根据需要指定编译标志。每种语言都支持多个编译器,有许多不同的工具和可视化可用,并且UI布局是可配置的。
这个工具应该是给程序员用的,比较偏底层,直接把 30 多种语言编译成了汇编指令,老苏除了觉得很厉害之外,反正是完全不会用的 😳
如果你跟老苏一样,那随便看看就好了;如果你是程序员,建议收藏一下,说不定那天就可能需要用到了;
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 docker-compiler-explorer ,选择第一个 madduci/docker-compiler-explorer,双击直接下载。

镜像有点大

高级设置
勾选 启用自动重新启动

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
10240 |
10240 |
老苏直接用了默认的端口

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 运行容器 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: "3" |
stop_grace_period是指定在容器无法处理SIGTERM(或者任何stop_signal的信号),等待多久后发送SIGKILL信号关闭容器。
然后执行下面的命令
1 | # 新建文件夹 compiler-explorer |
运行
启动的过程有点长,从日志看有下载、编译的动作

如果不支持科学上网,会导致编译器下载失败,会有什么影响,老苏就不清楚了

当看到 Listening on http://localhost:10240/ 时

就可以在浏览器中输入 http://群晖IP:10240 看到主界面了

参考文档
compiler-explorer/compiler-explorer: Run compilers interactively from your web browser and interact with the assembly
地址:https://github.com/compiler-explorer/compiler-explorer#readmeCompiler Explorer
地址:https://godbolt.org/madduci/docker-compiler-explorer: A docker-based version of Matt Godbolt’s compiler-explorer application
地址:https://github.com/madduci/docker-compiler-explorer