每隔一段时间,我就会收到一封来自一位程序员同事的电子邮件,询问我在我的一款游戏中使用什么语言以及我是如何学习的。这是一个条目,列出了有关 C 的最佳阅读内容。如果您知道其他 gem,请给我发电子邮件或在页面底部添加评论。正如我在上一篇文章中提到的,到目前为止我编写的所有商业 3D 引擎都是 95% C89(又名“标准 C”,又名“ANSI C”)。我选择了 C89 而不是 C99,因为一些编译器仍然不完全支持 C99……并且能够在 iO、Windows 和 Xbox 360 上编译从第一天起就成为强制性要求。根据编译平台的不同,剩下的 5% 是 Objective-C (iOS) 或 C++ (Windows、Mac OS X),用于将引擎绑定到本机输入/输出。出乎意料的是,C 与 C++ 在 reddit 上被证明颇具争议。两个真正的原因是:在我开始编写引擎时,我对 C++ 还不够了解。平台非常有限(iPhone 2G),我知道我需要完全掌握我的工具才能达到每秒 60 帧。自从我第一次阅读 id Software 源代码以来,用 C 语言完成一个商业游戏是我的梦想。那些“好”的选择吗?我认为最后唯一有效的问题是“你发货了吗?”和“它快吗?”。考虑到令人难以置信的帧速率(有些人提到在玩 Shmup 时尝试晕车),我认为我做出了正确的决定。我将从我不太重视的东西开始:互联网教程、博客和几乎所有谷歌带来的东西(是的,它包括这篇文章)。我通常认为这些来源不可靠且可能有害。和业内很多人一样,我也经常使用谷歌。随着时间的推移,我发现速度的错觉和答案的不准确会适得其反。没有网站比一本好书更好。没有什么好书能像反汇编输出一样好。