Anatomy of an ELF executable
Assembler takes your assembly file and produces an object file which is a binary file containing the machine instructions for your program. To get the object file for your program, pass the c flag to the gcc compiler. Normally when you compile your C programs, the compiler will compile them in a way so that C functions that you call are not bundled in with your executable, which thus reduces the size of the final executable.
Source: kishuagarwal.github.io