哈工大计算机系统课后作业第七章7.13A的解释

关于libm.a的问题,现解释如下:

1. 正常情况下是如此结果:

$ ar -t /usr/lib/x86_64-linux-gnu/libm.a
ar: /usr/lib/x86_64-linux-gnu/libm.a: File format not recognized

2. 一看是格式不识别,那就看看是什么格式用 $ file /usr/lib/x86_64-linux-gnu/libm.a

/usr/lib/x86_64-linux-gnu/libm.a: ASCII text

3.一看是文本文件,然后再用 gedit /usr/lib/x86_64-linux-gnu/libm.a查看内容

如下:
/* GNU ld script
*/
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /usr/lib/x86_64-linux-gnu/libm-2.27.a /usr/lib/x86_64-linux-gnu/libmvec.a )

4. 原来确实是一个文本文件,原来真正的库文件是/usr/lib/x86_64-linux-gnu/libm-2.27.a与/usr/lib/x86_64-linux-gnu/libmvec.a

5.然后用 ar查看

ar -t /usr/lib/x86_64-linux-gnu/libm-2.27.a
ar -t /usr/lib/x86_64-linux-gnu/libmvec.a
果真都是正确显示结果
s_lib_version.o
s_matherr.o
s_signgam.o
fclrexcpt.o
fgetexcptflg.o
fraiseexcpt.o
fsetexcptflg.o
ftestexcept.o
fegetround.o

猜你喜欢

转载自blog.csdn.net/aurora0_0/article/details/84547376