библиотеках существует две одинаковых функции? Например две разные printf с одинаковыми аргументами. Я сейчас конкретно про Си. Просто это немного дико после Пайтона или Го, где перед использованием функции нужно указать библиотеку, например `fmt.Printf(...)' в Го, где fmt - это библиотека.
ну, питон конечно тоже позволяет великолепные ногострелы а-ля from math import * pi = index_of_p_value def log(x): print('no logarithm for you') но не будем о грустном ;)
нэймспэйсы юзай
Обычно если проблемы (конфликты) будут - проблемы возникают на этапе линковки. А если загрузить библиотеку в runtime - новые имена перекрают старые и это используется на практике в том случае, если например надо подменить аллокатор или что-нибудь сделать с чужим бинарником.
в С будет ошибка линковки
Нарушение ODR и как следствие UB.
Обсуждают сегодня