每次等待GCC的漫长编译,都在偷走你的注意力。CrabPascal v2.22.0 把整个开发闭环收敛成三条子命令:check、run、build-exe。不问宿主机有没有C编译器,不纠结环境变量,一种模式快速迭代,另一种直接交付二进制。把这三个分工记清楚,吞吐效率就不是一个量级。
check:不给执行权的最快校验
crab-pascal check MyApp.dpr 只跑前端全流水线——词法、语法、语义分析——输出直接兼容 VS Code 的问题匹配格式,例如 crud.dpr:42:10: error: Unknown identifier 'FooBar'。没有副作用,适合挂在 pre-commit hook 或 CI 里,用 crab-pascal check src/*.dpr 做批量诊断。编辑器里装 CrabPascal 扩展也能随写随校。
run:零依赖的解释执行
不依赖 gcc 或 clang,CrabPascal 自带内部运行时。crab-pascal run examples/matematica/matematica.dpr 立刻跑出结果,甚至 Horse HTTP 服务也是一条命令:crab-pascal run examples/crud/crud.dpr 启动后直接监听 9000 端口,curl http://localhost:9000/produtos 就能验证。运行时里已集成 System.SysUtils、System.JSON 和泛型集合等 RTL 垫片,从 rtl/ 搜索路径自动加载。记住这个分工:run 用来高速开发迭代,build-exe 用来交付最终产物。
build-exe:产出真正的原生可执行文件
系统有 gcc 或 clang 时,crab-pascal build-exe HelloWorld.dpr --output HelloWorld.exe 会先生成 C 中间码再编译链接。没 C 编译器?它会直接告诉你换用 run。这种诚实设计切断了“硬着头皮编译”的折磨循环。对于 Pascal 程序员,这就是两阶段切换:日常 run,分发时一键 build-exe。
preproc 与 parse:调试利器
遇到 {$IFDEF DEBUG} 这样的条件编译,先用 crab-pascal preproc MyApp.dpr > MyApp.expanded.pas 展开,看到预处理后的真面目。想审阅抽象语法树时,用 parse 子命令把 AST 拉出来。在 crabpascal.toml 的 [preprocessor] 段里配置好符号,这两个命令就是你的源码显微镜。
实战流与几个尖刻提示
日常会话就是三步:编辑代码后先 check 做校验,再用 run 跑测试,最后可选 build-exe --output bin/ 出包。Windows 上批量构建可以用 PowerShell 遍历项目名,逐个 check 后 build-exe 到不同输出路径,记得把二进制路径加入 PATH。CI 日志里用 crab-pascal --version 验证 v2.22.0 还在位。还有一条硬规则:如果 check 通过了但 run 崩掉,立刻提 issue——运行时功能对齐是当前最活跃的冲刺目标。这三条命令就是 CrabPascal 的骨架,有终端的地方就能继续写 Pascal。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.