名字修饰 名字修饰name decoration也称为名字重整名字改编name mangling是现代计算机程序设计语言的编译器用于解决由于程序实体的名字必须唯一而导致的问题的一种技术 它提供了在函数结构体类或其它的数据类型的名字中编码附加信息一种方法用于从编译器中向链接器传递更多语义信息 该需求产生于程序设计语言允许不同的条目使用相同的标识符包括它们占据不同的命名空间典型的命名空间是由一个模块一个类或显式的namespace指示来定义的或者有不同的签名例如函数重载 任何由编译器产生的目标代码通常与另一部分的目标代码产生于同一款或不同款的编译器通过链接器把它们链接起来链接器需要一大堆每个程序实体信息例如正确链接一个函数需要它的名字参数个数和它们的类型等等