使用 `ar -rc` 和 libtool 有什么区别?
What is the difference between using `ar -rc` vs libtool?
我是 c 库的新手,我正在做一个不允许我使用的项目 libtool
。
我尝试在网上查找,但一切要么超级混乱,要么只是如何制作,却没有任何解释。
我有几个问题:
.a
个库只是 .o
个文件的集合吗?
- 使用
ar -rc
与 libtool
有什么区别?
- 当 link 人去 link 图书馆时,它 link 整个
.a
文件还是它需要的部分?
Q: Are .a libraries just a collection of .o files?
答:基本上是的。
目标文件需要以特定的方式组织 archive library format。链接器将无法使用存档 UNLESS 它识别该格式。因此需要像“ar”和“libtool”这样的工具。
Q: When the linker goes to link a library does it link the whole .a
file or just the part it needs?*
A:只有实际需要的目标代码才会被物理添加到可执行映像中。
Q: What is the difference between using ar -rc vs libtool?
“ar”自 Unix 早期就已存在;早在“动态库”被发明(针对 *nix)之前,在 Linus Torvalds 想到 Linux 之前,或者在 Gnu 存在之前。 “libtool”是一个支持动态库和静态库的 Gnu 工具,具有许多超越基本“ar”功能的功能。
我是 c 库的新手,我正在做一个不允许我使用的项目 libtool
。
我尝试在网上查找,但一切要么超级混乱,要么只是如何制作,却没有任何解释。
我有几个问题:
.a
个库只是.o
个文件的集合吗?- 使用
ar -rc
与libtool
有什么区别? - 当 link 人去 link 图书馆时,它 link 整个
.a
文件还是它需要的部分?
Q: Are .a libraries just a collection of .o files?
答:基本上是的。
目标文件需要以特定的方式组织 archive library format。链接器将无法使用存档 UNLESS 它识别该格式。因此需要像“ar”和“libtool”这样的工具。
Q: When the linker goes to link a library does it link the whole .a file or just the part it needs?*
A:只有实际需要的目标代码才会被物理添加到可执行映像中。
Q: What is the difference between using ar -rc vs libtool?
“ar”自 Unix 早期就已存在;早在“动态库”被发明(针对 *nix)之前,在 Linus Torvalds 想到 Linux 之前,或者在 Gnu 存在之前。 “libtool”是一个支持动态库和静态库的 Gnu 工具,具有许多超越基本“ar”功能的功能。