新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论高级C/C++编程、代码重构(Refactoring)、极限编程(XP)、泛型编程等话题
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 C/C++编程思想 』 → Linux下一个完整的C语言开发环境配置[转帖] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4015 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: Linux下一个完整的C语言开发环境配置[转帖] 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     firstway 帅哥哟,离线,有人找我吗?
      
      
      威望:5
      等级:大三暑假(2个月背完了红宝书)(版主)
      文章:92
      积分:947
      门派:Lilybbs.net
      注册:2005/10/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给firstway发送一个短消息 把firstway加入好友 查看firstway的个人资料 搜索firstway在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看firstway的博客楼主
    发贴心情 Linux下一个完整的C语言开发环境配置[转帖]

    一个完整的c语言开发环境包括如下三个部分:
    1、函数库:glibc
    2、编译器:gcc
    3、系统头文件:glibc_header

    首先glibc库,架构一个完整的c开发环境glibc是必不可少的,它是c下主要的函数库,有两种安装方式:
    a)安装成测试用的函数库,在编译程序时用不同的选项来选择试用新的函数库;
    b)安装成主要的c函数库
    所有新编译程序均用的函数库,glibc2包括几个附加包:linuxthreads、localedate、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

    其次编译器: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为后缀的文件,是经过预编译的汇编语言源代码文件。

    最后,系统头文件: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下。只有系统可以找到程序对应的包含文件和库文件,程序可执行文件才能正常运行。

      了解了Linux的C开发环境的构成和安装,还是不够的,还需要对其深入研究和学习,才能够做到“知其然,知其所以然”。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/12/22 16:42:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 C/C++编程思想 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/9/21 14:02:00

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    93.750ms