gccバージョン9のlibm.aへのフルパス

gccバージョン9のlibm.aへのフルパス

基準:https://stackoverflow.com/questions/5925678/location-of-c-standard-library
gcc --印刷ファイル名=libm.a
返品:
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.a


しかし、見つかりません。現在のディレクトリ(/usr/lib/gcc/x86_64-linux-gnu/9):lsコマンドを実行すると、次のものが返されます。

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

ただfには以下が含まれます含む入れるディレクトリです。 libm.aが存在しないことを確認しました。

このリンクに基づいているので、気にする必要があります。 (https://www.linuxtopia.org/online_books/an_introduction_to_gcc/gccintro_17.html) libm.aへの正しいフルパスを見つけたら、次のコマンドを実行できます。

gcc -Wall calc.c /usr/lib/libm.a -o calc

しかし、次のコマンドはまだ機能します。

gcc -Wall calc.c -lm -o calc

答え1

/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.a

gccファイル名の「../」は、親ディレクトリに移動することを意味します。

/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.a
= /usr/lib/gcc/x86_64-linux-gnu/../../x86_64-linux-gnu/libm.a
= /usr/lib/gcc/../x86_64-linux-gnu/libm.a
= /usr/lib/x86_64-linux-gnu/libm.a

したがって、libmは実際に/usr/lib/x86_64-linux-gnu/libm.a

関連情報