Name Mangling - Definição do Glossário CI/CD
O name mangling codifica informações de tipo e namespace nos nomes de símbolos para que funções sobrecarregadas linkem de forma única.
Name mangling é como um compilador codifica assinaturas de funções (namespaces, tipos de argumentos) nos nomes de símbolos que emite, para que funções sobrecarregadas recebam símbolos de linker únicos. C++ faz mangling; C não.
Name mangling é como um compilador codifica assinaturas de funções (namespaces, tipos de argumentos) nos nomes de símbolos que emite, para que funções sobrecarregadas recebam símbolos de linker únicos. C++ faz mangling; C não.
No CI
Um erro de linkagem comum ao misturar C e C++ é uma referência indefinida causada por um nome com mangling que não corresponde. Envolver declarações C em extern "C" desabilita o mangling e corrige a linkagem, o que vale a pena verificar quando um passo de linkagem no CI falha, mas a compilação passou.