翻译单元的时候，可能出现多个有相同名字的的函数定义，但是结果代码依据调用来自何处而只链接它自己的那个函数。这通常使用机制来完成。
C++语言的名字修饰.C++编译器是名字修饰使用得出名的编译器。第一个C++编译器的实现是翻译成C语言源代码，以便于让C编译器编译成目标代码。正因如此，符号名必须服从C语言的标识符规则。直至后来，能直接产生机器语言或汇编语言的编译器出现了以后，系统的链接器也是基本上不支持C++的符号的，所以仍然需要名字修饰。C++语言并没有规定一个标准的名字修饰方式