Это зависит от реализации, но обычно это разрешается компоновщиком.Каждый скомпилированный модуль перевода создаст объектный файл, содержащий копию функции, помеченной каким-либо образом, чтобы компоновщик знал, что он должен ожидать (и принимать) дубликаты.Компоновщик включит один из них, откажется от других и разрешит любые ссылки на функцию.