based on this: https://stackoverflow.com/questions/5925678/location-of-c-standard-library
gcc --print-file-name=libm.a
return:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.a
However I cannot found it.
In current directory(/usr/lib/gcc/x86_64-linux-gnu/9): I do ls command, return following:
cc1 crtfastmath.o finclude libcaf_single.a libgfortran.spec liblsan.so libobjc_gc.so libsupc++.a
cc1plus crtoffloadbegin.o include libcc1.so libgomp.a liblsan_preinit.o libquadmath.a libtsan.a
collect2 crtoffloadend.o libasan.a libgcc.a libgomp.so liblto_plugin.so libquadmath.so libtsan.so
crtbegin.o crtoffloadtable.o libasan.so libgcc_eh.a libgomp.spec liblto_plugin.so.0 libsanitizer.spec libubsan.a
crtbeginS.o crtprec32.o libasan_preinit.o libgcc_s.so libitm.a liblto_plugin.so.0.0.0 libssp_nonshared.a libubsan.so
crtbeginT.o crtprec64.o libatomic.a libgcov.a libitm.so libobjc.a libstdc++.a lto-wrapper
crtend.o crtprec80.o libatomic.so libgfortran.a libitm.spec libobjc.so libstdc++.so lto1
crtendS.o f951 libbacktrace.a libgfortran.so liblsan.a libobjc_gc.a libstdc++fs.a plugin
only finclude, include, plugin are directory. I already checked libm.a is not there.
Why bother, because base on this link.(https://www.linuxtopia.org/online_books/an_introduction_to_gcc/gccintro_17.html) I should able to do the following command if I found out the proper libm.a full path.
gcc -Wall calc.c /usr/lib/libm.a -o calc
However the following command still works.
gcc -Wall calc.c -lm -o calc