Когда я объявляю встроенную функцию, она копируется и вставляется в те места, где она называется, а также есть еще одна копия, к которой мы можем перейти. Можно ли это остановить? Я хочу иметь функциональный код только в тех местах, где он вызывался. Больше не подлежащих вызову копий.
PS. Я знаю, что встроенные функции не всегда "встроены".
Если вы не берете его адрес (явно или неявно), то нет причин для компилятора генерировать его вне строки.
Если вы определяете функцию как static inline
(C99), тогда не будет генерироваться вызываемая версия. Фактически, если вы вообще не вызываете эту функцию, она не будет включена в ваш объектный файл.