Базовые понятия, кратко Совершенно неожиданное открытие сделал недавно. Оказывается порядок появления файлов на входе линковщика важен, если мы говорим о линковки статических библиотек. Для того что бы понять почему так происходит, нужно понимать принцип работы линковщика. Объектные файлы как предоставляют(экспортируют) символы(имена функций, переменных), так и ожидают(импортируют) их. Рассмотрим небольшой пример: int imported(int);
static int internal(int x) {
return x * 2;
}
int exported(int x) {
return imported(x) * internal(x);
}
Теперь скомпилируем этот файл: gcc -c test.c
nm test.o
000000000000000e...
Доброго времени суток, дамы и господа! Я продолжаю небольшой цикл историй, посвящённый моему опыту игры в World of Warcraft в частности и игровому комьюнити того времени, той эпохи, в целом. Итак, поехали! P.S. Я обещал вам бомбить вас же призывами подписаться на мой новый канал в рамках Youtube. Обещал — бомблю. Народ, буду очень рад, если вы присоединитесь ко мне на другой платформе. Если вам интересно моё творчество, пожалуйста, подпишитесь. Для вас сие секундное дело, для меня — огромный рывок вперед...