No inline
is not same as macro
definition, as macro is preproccessed but inline is just the indication to the compiler to put the whole body of the function where it is called.
putting inline keyword before any function definition is just the indication or request , compiler is free to choose whether it's going to make that function inline or leave it as normal
macro substitution : preprocessing phase
(i.e. before compilation )
-- input file test.c
result file in linux test.i
inline substitution : compilation phase