如标题所示,binutils
包含在gcc
Centos Linux中吗?如果我安装gcc rpm软件包,是否还需要安装binutils
?更重要的是,是gcc
和g++
这两个默认CentOS中安装?
该gcc
软件包可能包含适当的编译器,例如文件/usr/bin/gcc
和目录/usr/lib/gcc/x86_64-linux-gnu/4.8/
(其中包含cc1
可执行文件)。
该/usr/bin/gcc
程序启动cc1
(或cc1plus
等)来编译源代码*.c
,同时还as
翻译cc1
-生成汇编代码(通过生产cc1
)到目标文件*.o
,最后ld
链接。
编译一次gcc -v
以了解发生了什么,它将显示真正执行的二进制文件。请注意,gcc
仅仅是一个驱动程序(启动其他可执行文件一样cc1
,as
,ld
...)
在as
和ld
程序提供binutils
-其需要进行编译。
因此,该binutils
包是该包的必需依赖项gcc
(还有许多其他依赖项,可能包括libc
and libc-devel
,但是如果您确实需要,您可以使用其他一些libc,例如MUSL libc;libc通常提供动态链接器,例如/lib/ld-linux.so*
)。
了解如何使用rpm(在Centos或dpkg
Ubuntu&Debian上)来查询软件包之间的依赖关系。
对于开发,您可能需要其他一些软件包。Debian具有构建必需的虚拟软件包。CentOS可能具有等效功能。并且您肯定会想要使用一些库(并且想要它们的开发包,例如在Debian libcurl4-gnutls-dev上使用libcurl HTTP客户端库进行开发)。另请参见此答案(适用于Ubuntu和Debian,但您可以使其适用于CentOS)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句