per molte attività rapide in cui si potrebbe impiegare una funzione f(x,y)
, in semplice C, vengono utilizzate le macro. Vorrei fare domande specifiche su questi casi, che sono risolvibili con una chiamata di funzione (ovvero macro utilizzate per allineare funzioni, non per espandere il codice di codice arbitrario).
In genere le funzioni C non sono incorporate poiché potrebbero essere collegate ad altri file C. Tuttavia, le funzioni C statiche sono visibili solo all'interno del file C in cui sono definite. Pertanto possono essere incorporate dai compilatori. Ho sentito che molte macro dovrebbero essere sostituite trasformandole in funzioni statiche, perché questo produce un codice più sicuro.
Ci sono casi in cui questa non è una buona idea?
Di nuovo: non chiedere informazioni sulle macro di Code-Production con costrutti simili a ## che non possono essere espressi affatto come una funzione.
inline
funzioni ing assicurano solo che possa essere definita più volte nel file binario, il compilatore può decidere se effettivamente lo inline per forse risparmiare spazio
inline
, questo non riguarda C ++.
inline
in C, almeno da C99. Per una rapida panoramica, vedi Wikipedia sulle funzioni incorporate .