将我的游戏项目从 C 语言迁移到 Odin 语言

主要观点:作者数月前对 C 感到厌烦,尝试 Odin 语言后很喜欢,将游戏从 C 迁移到 Odin,介绍了学习 Odin 的过程、与 C 的对比以及 Odin 的优点等。
关键信息:

  • Odin 像“Better C”语言,语法有反向特点,如变量声明variableName: int = 10variableName := 10,函数叫“procs”。
  • 指针在 Odin 中是^pointer,解引用是pointer^,且无需头文件,代码都在一个文件中。
  • Odin 构建简单,odin build.odin run.,组织代码可使用odin build./src -collection:src=src -debug -out:./build/binary
  • Odin 无内置包管理器,包是文件文件夹,可使用import rl "vendor:raylib",第三方包可用 git 子模块管理。
  • 迁移游戏时,代码转换多为语法转换,Odin 不喜欢循环依赖,可通过调整包结构避免,如创建层次结构。
  • Odin 的标记联合方便处理联合类型,如处理实体组件系统。
  • Odin 的字符串处理更简单,如文件读取和配置文件处理。
  • Odin 的defer很方便,C23 可能也有类似功能。
  • Raylib 在 Odin 和 C 中矩阵存储方式不同,Odin 是行主序,C 是列主序。
    重要细节:
  • 作者有 ADHD,记忆不好,C 的头文件管理让他烦恼,Odin 避免了这一问题。
  • 在 C 中代码依赖复杂,容易出错,Odin 让问题更易预测。
  • 作者在 Akademy 时睡眠不足仍能在 Odin 中进行游戏编程。
  • 推荐尝试 Odin,尤其对厌倦 C 的人,使用语言服务器时可设置并使用 ols,调试可借助 LLDB 调试适配器。
阅读 31
0 条评论