У меня есть iOS-фреймворк, содержащий .c
, .mm
исходные файлы.Для удобства давайте назовем эти два файла A.c
и B.mm
.
. В обоих файлах я определил функцию с одинаковым протоколом функций, как показано ниже.
// A.c
uint32_t get_file(const char *path)
{
...
}
// B.mm
uint32_t get_file(const char *path)
{
...
}
НасколькоЯ знаю, я думал, что это вызовет ошибку во время компиляции, потому что есть дублированный символ, но он успешно компилирует структуру без каких-либо ошибок.Что мне здесь не хватает?
Примечание. Это будет duplicate symbol
ошибка компоновщика, если это были .c
и .m
, поскольку Objective-C не подвергается искажению имени.