int funca(int * a)
{
*a += 1;
}
int main(void)
{
int b = 5;
funca(&b);
funca(&b);
return b;
}
Вот положим компилятор взял и заинлайнил funca.
А мы, положим, определим функцию в другом юните. Или даже так:
//file1.c
int funca(int * a)
{
*a += 1;
}
int funcb(int * a)
{
funca(a);
funca(a);
}
А теперь вопрос:
gcc file1.c -o file1.o
А я возьму и залинкую эту штуку как библиотеку. И попытаюсь дернуть funca. А нету там больше funca!