gpt4 book ai didi

c++ - 为什么在 Doom 源代码中有#define ID_INLINE 内联定义?

转载 作者:行者123 更新时间:2023-11-28 00:35:59 26 4
gpt4 key购买 nike

在毁灭战士3的源代码中,使用了ID_INLINE宏来代替内联,声明为#define ID_INLINE inline。有什么理由使用这个宏而不是简单的内联?

最佳答案

出于同样的原因,许多其他软件包使用“内联宏”。它有两个目的:

  1. 它为程序员提供了一个简单的地方来“关闭所有内联”(这有时在调试时非常有用)- 您可以通过执行 #undef ID_INLINE 来“按文件”执行此操作通过 #define ID_INLINE - 或更改整体宏以影响整个项目。
  2. 一些(旧的)编译器不支持标准的inline 关键字,或者您可能需要使用特殊的魔法来说服编译器将函数内联。因此,使用“内联宏”可以在整个项目中对其进行更改(至少在程序员遵循编码标准的情况下)。

对于现代编译器,前者无疑是重点。

关于c++ - 为什么在 Doom 源代码中有#define ID_INLINE 内联定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20934281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com