Eonil Eonil - 1 month ago 6
C Question

Is there a way to define C inline function in .c file rather than .h file?

As I know, C inline function body should be defined in .h file
because it causes an error 'function-name used but never defined" if body defined in .c file.

Is this the regular way? Or how to define inline function body in .c file?

Answer

Each .c file is compiled independently into .o output. If you define the inline function in a .c file, other source files cannot see such function, so that cannot be inlined.

Therefore the inline function should be in the .h file to allow the code to be shared.

Comments