跳转到内容

快速开始

GDCC 是一个开源的 GDScript 编译器和工具链,可以将 GDScript 脚本编译为通过 GDExtension 接口执行的本机动态库模块。内置的快速编译后端在编译器进程内直接完成编译与链接,无需外部 C 编译器。

使用 GDCC 最方便的方式是 Godot 编辑器插件(需要 Godot 4.5 或更高版本):

  1. 从 GitHub Releases 下载编辑器插件包 gdcc_editor_addon.zip。
  2. 在 Godot 编辑器中打开”资源库”页面,点击右上角”导入”按钮,选择下载的 zip 文件并确认导入。
  3. 点击顶部工具栏的”项目”选项卡,打开”项目设置”页面,进入”插件”选项卡,启用 GDCC 编辑器插件。
  4. 底部 Dock 中会出现”GDCC”选项卡;打开它并按照配置向导完成安装(首次安装约需 60MB 磁盘空间)。
  5. 安装完成后,新建 .gd3 脚本并编写代码,点击右上角的 “Build” 按钮即可将 GDScript 编译为 GDExtension 模块并热重载进正在运行的 Godot 引擎。

GDCC 通过 .gd3 后缀识别需要编译的脚本——项目中的 .gd 脚本仍由内置解释器执行,不受编译影响。要让某个脚本启用 GDCC 编译,将它的后缀名改为 .gd3 即可。

点击 Build 按钮后,动态库会自动部署到项目并完成热重载,无需重启编辑器或重载场景;场景中已建立的信号连接与 Callable 会自动指向新代码。Build 按钮旁的弹出面板可切换编译后端、优化级别与严格模式;底部 Dock 显示连接、诊断与构建状态及日志。

插件还为 .gd3 脚本提供实时诊断、代码补全、悬浮文档、跳转定义(需 Godot 4.6+)、大纲与语法高亮。

命令行与 CI/CD 场景可以下载平台包,解压到任意目录即可使用。普通平台包名为 gdcc-<版本>-<系统>-<架构>.zip,包含 gdcc 启动器与核心文件;*-full.zip 包在此基础上额外打包了全部交叉编译工具链。

基本命令格式:

Terminal window
gdcc [options] <files...>

编译单个脚本:

Terminal window
gdcc -o build/demo src/player.gd

将多个脚本编译到同一个模块:

Terminal window
gdcc -o build/demo src/player.gd src/enemy.gd

编译属于 Godot 项目的脚本时,传入项目文件可让 GDCC 生成 .gdextension 元数据:

Terminal window
gdcc --project game/project.godot -o build/demo game/src/player.gd
  • -o / --output <output>:设置输出目标路径。省略时,GDCC 会根据输入文件名推导默认名称。
  • --gde <version>:选择 Godot GDExtension API 版本。目前仅支持 4.5.1。
  • --opt / --optimize <level>:选择 debug 或 release。
  • --backend <backend>:选择 C 编译器后端,tcc 或 zig。省略时 debug 构建使用内置 tcc 后端,release 构建使用 zig。
  • --target <platform>:选择目标平台,例如 linux-x86-64、windows-x86-64、linux-aarch64 或 macos-aarch64。
  • --prefix <prefix> 和 --class-map Source=Canonical:控制生成的顶层 canonical 类名。

GDCC 可以作为长驻后台进程运行,以 JSON-RPC 形式向外部工具提供语法分析、诊断、补全与构建能力:

Terminal window
gdcc serve [--host 127.0.0.1] [--port 6099]

编辑器插件正是通过该服务实现 IDE 级功能的。编辑器插件检测到服务未运行时会按配置自动拉起,无需手动执行该命令。