昨天是南方的小年夜,调休,一早上班遇到 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
,双击直接下载。
镜像有点大
高级设置
勾选 启用自动重新启动
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
10240 | 10240 |
老苏直接用了默认的端口
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 运行容器
docker run -d \
--restart on-failure \
--name compiler-explorer \
-p 10240:10240 \
madduci/docker-compiler-explorer:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: "3"
services:
compiler-explorer:
image: madduci/docker-compiler-explorer:latest
container_name: compiler-explorer
ports:
- 10240:10240
restart: on-failure
stop_grace_period: 1m30s
stop_grace_period
是指定在容器无法处理SIGTERM
(或者任何stop_signal
的信号),等待多久后发送SIGKILL
信号关闭容器。
然后执行下面的命令
# 新建文件夹 compiler-explorer
mkdir -p /volume2/docker/compiler-explorer
# 进入 compiler-explorer 目录
cd /volume2/docker/compiler-explorer
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
启动的过程有点长,从日志看有下载、编译的动作
如果不支持科学上网,会导致编译器下载失败,会有什么影响,老苏就不清楚了
当看到 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#readme
Compiler 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