Когда функции встроены, они не присутствуют в конечном блоке компиляции как символическая функция, которая должна быть вызвана. Когда он встроен, компилятор помещает код непосредственно в вызывающую программу, поэтому, если он был встроен:
inline int multiply(int a, int b)
{
return a*b
}
int main()
{
printf("%i", multiply(a,b));
}
В результате вставки умножение в виде символа в скомпилированном произведении исчезает, давая то же, что и:
int main()
{
printf("%i", a * b);
}
Если вы всегда хотите, чтобы функция появлялась в виде символа в конечном продукте , удалите строчки . У вашего компилятора может быть переключатель, который облегчит удаление встроенных строк в сборке.