为什么数字句柄有时称为 "name"?

Why is a numeric handle sometimes referred to as a "name"?

我注意到在各种 C 库中,尤其是在 OpenGL API 中,单词 "name" 用于描述一个简单的整数值(通常是无符号的); example here。听起来在其他开发领域可能被称为 id(数据库键)或 handle(文件描述符),这就是为什么我我对缺少这些术语感到惊讶 ,我通常更喜欢这些术语而不是 "name",因为 "name" 与字符串标识符或描述冲突 。我猜是历史原因。

谁能告诉我这个术语的背景以及它是否仍然被认为在 C 社区流行?

NB 这不是关于 OpenGL 的问题,所以请让我们保持笼统的回答 - 谢谢。

您链接到的 API 实际上是在 OpenGL 实现的内存 space 中创建一个结构,并且您正在使用枚举来查询该结构的字段以指示哪个字段。文档将其称为 'symbolic name',这是代码中查询程序内存中结构的等效标记 space 的意思: x = texture.border_color 变为 glGetTexParam(target, texture, GL_TEXTURE_BORDER_COLOR, &x)

所以枚举参数GL_TEXTURE_BORDER_COLOR相当于字段的符号名称border_color