2.4. Building an application without the C library
Creating an application that has a main() function causes the C library initialization functions to be included as part of __rt_lib_init.
If your application does not have a main() function, the C library is not initialized and the following features are not available in your application:
low‑level stdio functions that have the prefix _sys_
signal‑handling functions, signal() and raise() in signal.h
other functions, such as atexit() and alloca().
See The standalone C library functions for more information on the functions that are not available without library initialization.
This section refers to creating applications without the library as bare machine C. These applications do not automatically use the full C runtime environment provided by the C library. Even though you are creating an application without the library, some helper functions from the library must be included. There are also many library functions that can be made available with only minor re‑implementations.