Ответ 1
C имеет одно пространство имен для внешних символов и применяет ODR (одно правило определения), так что два объекта extern
с тем же именем в двух единицах перевода должны иметь одинаковое определение.
Хотя возможно создать C ABI, который поддерживает перегрузку, основной силой C является простота ABI. На почти всех платформах "ABI" является C ABI, и он играет определенную роль в исполнении независимо от исходного языка. Это будет потеряно, если символы должны включать информацию типа.
TGE (как используется библиотекой) - это просто ручная работа с названием mangling. Он (или будет делать, когда-то в возможно очень отдаленном будущем) работу, которую он должен выполнить, чтобы позволить объявлениям typedef
управлять генерацией математических циклов с интенсивным математическим учетом. Людям, которые нуждаются в функциях языка С++, следует подключиться к С++.