Funções embutidas
Específico da Microsoft
A palavra-chave __inline diz para o compilador substituir o código na definição de função para cada instância de uma chamada de função. No entanto, a substituição ocorre apenas ao critério do compilador. Por exemplo, o compilador não uma embute uma função se seu endereço já estiver em uso ou se for muito grande para embutir.
Para que uma função seja considerada candidata para embutir, ela deve usar a definição de função de novo estilo.
Use esse formato para especificar uma função embutida:
__inline typeopt function-definition;
O uso de funções embutidas gera código mais rápido e às vezes pode gerar código menor do que a chamada de função equivalente gera pelos seguintes motivos:
Ela poupa o tempo necessário para executar chamadas de função.
As funções embutidas pequenas, talvez três linhas ou menos, criam menos código do que a chamada de função equivalente porque o compilador não gera código para tratar de argumentos e um valor de retorno.
As funções geradas embutidas estão sujeitas às otimizações de código não disponíveis para funções normais porque o compilador não executa otimizações entre procedimentos.
As funções que usam __inline não devem ser confundidas com o código de assembler embutido. Consulte Assembler embutido para obter mais informações.
FIM de Específico da Microsoft