在Linux下发布程序需要注意版本的软件包

来源:赛迪网 作者:sixth
   

Gcc

 

gcc是GNU编译器集合,包含C、C++、Java、Ada、Forturn等编译器,我们主要使用的是C和C++,它们对应的程序是gcc和g++,为了兼容BSD等UNIX系统,C编译器的程序名还可以是cc或CC。

 

Linux的一切都是由gcc编译完成的,由于不同主版本的gcc的ABI并不完全相同,因此,如果Linux系统与应用程序采用不同主版本号的gcc进行编译,很可能产生非常多的问题。

 

查看gcc版本的方法是gcc -v。注意,这里不但可以显示出gcc的版本,还会显示出gcc的编译参数,这也非常重要,即使是相同版本的gcc,在使用不同的编译参数时也会产生兼容问题,比如线程模型。

 

Glibc

 

glibc是Linux的标准库函数,封装了Linux的绝大多数的系统调用,相当于Windows的API,所有应用软件都要依赖于它。

 

他的主版本发生改变时,它所提供的函数行为可能发生加大改变,基于不同glibc版本的程序在混合使用时,经常会出现段错误。

 

查看glibc的版本的方法有两种。一种是Linux系统的软件包以RPM方式发布,可以利用rpm -q glibc命令查看所安装的glibc是什么版本,文件名后面的数字就是版本数字。另外就是查看/lib目录下下的libc-x.y.z.so文件,x、y、z就标明了主版本、副版本和修正版本。

 

Kernel

 

内核是Linux的核心,Linux的一切功能都有内核提供,而不同的内核版本会有很大的变化,比如2.4.x和2.6.x内核区别非常大,可以说它们完全不兼容。另外,即便都是2.6.x的内核,不同的修正版本也会存在较大差异,也很可能产生兼容问题。

 

产看内核版本的方式是uname -r命令。

(责任编辑:A6)


时间:2008-06-27 10:26 来源:赛迪网 作者:sixth 原文链接

好文,顶一下
(1)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量