免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1009 | 回复: 0
打印 上一主题 下一主题

linux下C程序开发的编译 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-11 09:55 |只看该作者 |倒序浏览

Linux的C开发环境与Windows的有所不同,在Linux下,一个完整的C开发环境包括以下三个组成:
 1、函数库: glibc  
  要构架一个完整的C开发环境,Glibc是必不可少的,它是Linux下C的主要函数库。Glibc有两种安装方式:
  A.安装成测试用的函数库
   在编译程序时用不同的选项来试用新的函数库
  B.安装成主要的C函数库
   所有新编译程序均用的函数库
Glibc2含几个附加包:LinuxThreads、locale和crypt,通常它们的文件名随版本不同而类似于下列文件名:  
  glibc-2.06.tar.gz  
  glibc-linuxthreads-2.0.6.tar.gz  
  glibc-localedate-2.0.6.tar.gz  
  glibc-crypt-2.0.6.tar.gz  
  2、编译器:gcc  
  gcc(GNU CCompiler)是GNU推出的功能强大、性能优越的多平台编译器,gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,以下是gcc支持编译的一些源文件的后缀及其解释:  
  .c为后缀的文件,C语言源代码文件;  
  .a为后缀的文件,是由目标文件构成的档案库文件;  
  .C,.cc或.cxx 为后缀的文件,是C++源代码文件;  
  .h为后缀的文件,是程序所包含的头文件;  
  .i 为后缀的文件,是已经预处理过的C源代码文件;  
  .ii为后缀的文件,是已经预处理过的C++源代码文件;  
  .m为后缀的文件,是Objective-C源代码文件;  
  .o为后缀的文件,是编译后的目标文件;  
  .s为后缀的文件,是汇编语言源代码文件;  
  .S为后缀的文件,是经过预编译的汇编语言源代码文件。   
  3、系统头文件:glibc_header  
  缺少了系统头文件的话,很多用到系统功能的C程序将无法编译。  
  假如用户在安装过程中少装了这些包,就会无法编译C源程序。初学者有时候选择自己定制软件包来安装,结果遗漏了这些包,导致无法编译源程序,不少人就只好重新安装一遍Linux。其实并不需要这样做,虽然从tar包来安装Linux的C开发环境对于初学者来说比较难,但是我们还是可以通过rpm包来迅速安装Linux的C开发环境的。下面以Red Hat 7.3为例,介绍如何安装Linux的C开发环境,如果是更高版本的Red Hat也可以参考,只是要注意软件版本的不同。  
  由于gcc包需要依赖binutils和cpp包,另外make包也是在编译中常用的,所以一共需要8个包来完成安装,它们是:  
  cpp-2.96-110.i386.rpm  
  binutils-2.11.93.0.2-11.i386.rpm  
  glibc-2.2.5-34.i386.rpm  
  glibc-kernheaders-2.4-7.14.i386.rpm  
  glibc-common-2.2.5-34  
  glibc-devel-2.2.5-34.i386.rpm  
  gcc-2.96-110.i386.rpm  
  make-3.79.1-8.i386.rpm  
如果连在internet上的话,可以直接从internet上安装,命令依次如下:  
  rpm -ivh  
  ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/cpp-2.96-110.i386.rpm  
  rpm -ivh  
  ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/binutils-2.11.93.0.2-11.i386.rpm  
  rpm -ivh  
  ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-kernheaders-2.4-7.14.i386.rpm  
  rpm -ivh  
  ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-2.2.5-34.i386.rpm  
  rpm -ivh  
  ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-devel-2.2.5-34.i386.rpm  
  rpm -ivh  
  ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-common-2.2.5-34.i386.rpm  
  rpm -ivh  
  ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/gcc-2.96-110.i386.rpm  
  rpm -ivh  
  ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/make-3.79.1-8.i386.rpm  
  如果不是连在internet上的话,就要下载下来安装了。安装完后,就构成了最基本的C开发环境,在这个C开发环境中,可以编译多数的C写的应用程序。而对于一个C程序来说,安装完成后通常可以分成三个组成:  
  1.可执行文件  
  2.包含文件  
  3.库文件  
  可执行文件就是最终运行的命令,包含文件是该C程序include的一些定义文件,库文件则是该C程序自定义的库。比如对于用RPM安装的MySQL:可执行文件放在/usr/bin下,包含文件放在/usr/include/mysql下,库文件在/usr/lib/mysql下。只有系统可以找到程序对应的包含文件和库文件,程序可执行文件才能正常运行。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21174/showart_154029.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP