在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命令。
- ››程序员 不妨都写一写前端代码
- ››linux下两台服务器文件实时同步方案设计和实现
- ››Linux文件描述符中的close on exec标志位
- ››Linux下管道使用的一些限制
- ››Linux 误删/usr/bin 解决方法
- ››linux 添加新用户并赋予sudo执行权限
- ››linux常用软件安装方法
- ››Linux的分区已经被你从Windows中删除,系统启动后...
- ››linux enable命令大全
- ››Linux实现基于Loopback的NVI(NAT Virtual Interfa...
- ››Linux远程访问windows时,出现"连接被对端重...
- ››linux中使用head命令和tail命令查看文件中的指定行...
更多精彩
赞助商链接