C · Intermediário · Inglês · Técnico
inline
Sugestão ao compilador para expandir a função no ponto de chamada. Desde o C99, uma função inline sem static segue regras próprias de definição que podem causar erro de ligação.
Onde usar
Funções curtas em headers costumam ser static inline para evitar erros de símbolo indefinido ou duplicado. É diferente do C++, onde inline sozinho já basta.
Em código
/* util.h */
static inline int max2(int a, int b) {
return a > b ? a : b;
}Exemplos
Make it static inline and put it in the header.
Faça static inline e coloque no header.
Plain inline gave me an undefined reference at link time.
Só inline me deu um undefined reference na hora de ligar.
Cuidado
Colocar só inline em um header esperando o comportamento do C++: em C, sem static ou uma definição externa, o linker pode reclamar.
Sinônimos
função expandida