WEB开发网
开发学院操作系统Linux/Unix 在Linux下发布程序需要注意版本的软件包 阅读

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

 2008-06-27 12:12:18 来源:WEB开发网   
核心提示:Gcc gcc是GNU编译器集合,包含C、C++、java、Ada、Forturn等编译器,在Linux下发布程序需要注意版本的软件包,我们主要使用的是C和C++,它们对应的程序是gcc和g++,不同的修正版本也会存在较大差异,也很可能产生兼容问题,为了兼容BSD等UNIX系统,C编译器的程序名还可以是cc或CC

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命令。

Tags:Linux 发布 程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接