V2EX  ›  英汉词典

Name Mangling

定义 Definition

name mangling(名称改编/符号改编):在编译器与链接器处理中,把源代码里的函数名、类名等改写成带有额外信息的唯一符号名(例如参数类型、命名空间、类作用域等),以支持函数重载、命名空间区分等特性;链接时依靠这些符号名进行匹配。该术语也常被称为 symbol mangling。在不同编译器/平台上,改写规则可能不同,从而造成 ABI(应用二进制接口)不兼容等问题。

发音 Pronunciation (IPA)

/ˈneɪm ˈmæŋɡlɪŋ/

例句 Examples

The linker failed because of name mangling between the C and C++ files.
链接失败了,因为 C 文件和 C++ 文件之间存在名称改编(name mangling)差异。

Because different compilers use different name mangling schemes, mixing object files can cause unresolved symbols.
由于不同编译器使用不同的名称改编方案,混用目标文件可能导致符号无法解析。

词源 Etymology

mangle 原义是“把东西弄乱、揉碎、破坏性地改动”。在编程语境中,name mangling 比喻“把名字改得面目全非”,但目的不是破坏,而是把额外信息编码进符号名里,确保在链接阶段能唯一定位到正确的函数或方法。

相关词 Related Words

文学与经典作品中的用例 Literary Works

  • The C++ Programming Language(Bjarne Stroustrup)——讨论 C++ 特性与实现细节时常涉及名称改编/链接符号问题。
  • C++ ABI / Itanium C++ ABI 规范文档——系统性描述 C++ 名称改编(mangling)规则与二进制兼容性。
  • GCC 文档(如 *Using the GNU Compiler Collection (GCC)*)——在 C/C++ 混编、链接与符号相关章节中经常提到 name mangling。
  • Linkers and Loaders(John R. Levine)——介绍链接器如何处理符号与命名,相关内容常与符号改编并行出现。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   787 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 18:47 · PVG 02:47 · LAX 10:47 · JFK 13:47
♥ Do have faith in what you're doing.