Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1367845
  • 博文数量: 245
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3094
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-12 14:51
文章存档

2011年(2)

2009年(152)

2008年(91)

我的朋友

分类: C/C++

2009-02-10 13:07:34

  Tarball 的管理与建议:
  好了!在我们知道了原始码的相关资讯之后,再来要瞭解的自然就是如何使用具有原始码的 Tarball 来建立一个属于自己的套件啰!从前面几个小节的说明当中,我们晓得其实 Tarball 的安装是可以跨平台的,因为 C 语言的程式码在各个平台上面是可以共通的, 只是需要的编译器可能并不相同而已。例如 Linux 上面用 gcc 而 Windows 上面也有相关的 C 编译器啊~所以呢,同样的一组原始码,既可以在 Fedora Linux 上面编译,也可以在 SuSE Linux 上面编译,当然,也可以在大部分的 Unix 平台上面编译成功的!

  所以啰, Tarball 原始码程式应该可以在大部分的环境底下安装成功的!举例来说,鸟哥在上面几个小节所提供的 C 程式是在 Fedora Core 4 及 Red Hat 9 上面测试编译的,那么您可以下载之后在自己的 Linux 环境下测试看看,我想,每个人应该都可以顺利的编译成功的才是!因为 C 的语法是没有不一样的啊! ^_^

  如果万一没有编译成功怎么办?很简单啊,透过修改小部分的程式码( 通常是因为很小部分的异动而已 )就可以进行跨平台的移植了!也就是说,刚刚我们在 Linux 底下写的程式‘理论上,是可以在 Windows 上面编译的!’这就是原始码的好处啦!所以说,如果朋友们想要学习程式语言的话, 鸟哥个人是比较建议学习‘具有跨平台能力的程式语言’,例如 C 就是很不错的一个!

  唉啊!又扯远了~赶紧拉回来继续说明我们的 Tarball 啦!

  使用原始码管理套件所需要的基础套件

  从原始码的说明我们晓得要制作一个 binary 执行档需要很多咚咚的呢!这包括底下这些基础的套件:

  * gcc 或 cc 等 C 语言编译器( compiler ):
  这是一定要的啦!要将原始码编译成为可执行的 binary 才行,所以当然就需要编译器啰!在 Linux 上面用的当然就是 GNU 发展的 gcc 这个超好用的免费的 C 编译器啦!并且,很多在 Linux 平台上面发展的套件的原始码,原本就是以 gcc 为底来设计的呢。

  * make 及 autoconfig 等套件:
  一般来说,以 Tarball 方式释出的套件当中,为了简化编译的行程,通常都是配合前几个小节提到的 make 这个指令来依据目标档案的相依性而进行编译。但是我们也知道说 make 需要 makefile 这个档案的规则,那由于不同的系统里面可能具有的基础套件环境并不相同, 所以就需要侦测使用者的作业环境,好自行建立一个 makefile 档案。这个自行侦测的小程式也必须要藉由 autoconfig 这个相关的套件来辅助才行。

  * 需要 Kernel 提供的 Library 以及相关的 Include 档案:

  从前面的原始码编译过程,我们晓得函式库( library )的重要性,同时也晓得有 include 档案的存在。很多的套件在发展的时候都是直接取用系统核心提供的函式库与 include 档案的,这样才可以与这个作业系统相容啊!尤其是在‘ 驱动程式方面的套件 ’,例如网路卡、音效卡、USB 等驱动程式在安装的时候,常常是需要核心提供的相关资讯的。在 Red Hat 的系统当中 ( 包含 Fedora 等系列 ) ,这个核心相关的功能通常都是被包含在 kernel-source 或 kernel-header 这些套件名称当中,所以记得要安装这些套件喔!

  虽然 Tarball 的安装上面相当的简单,如同我们前面几个小节的例子,只要顺著开发商提供的 README 与 INSTALL 档案所载明的步骤来进行,安装是很容易的。但是我们却还是常常会在 BBS 或者是新闻群组当中发现这些留言:‘我在执行某个程式的侦测档案时,他都会告诉我没有 gcc 这个套件,这是怎么回事?’还有:‘我没有办法使用 make 耶!这是什么问题?’呵呵! 这就是没有安装上面提到的那些基础套件啦!

  咦!为什么使用者不安装这些套件啊?呵呵!这是因为目前的 Linux distribution 大多已经偏向于桌上型电脑的使用,他们希望使用者能够按照厂商自己的希望来安装相关的套件即可, 所以通常‘预设’是没有安装 gcc 或者是 make 等套件的。所以啦,如果您希望未来可以自行安装一些以 Tarball 方式释出的套件时,记得请自行挑选想要安装的套件名称喔!例如在 Fedora 或者是 Red Hat 当中记得选择 Software Development 以及 Kernel Source Development 等相关字眼的群集呢。

  那万一我已经安装好一部 Linux 主机,但是使用的是预设值所安装的套件,所以没有 make, gcc 等咚咚,该如何是好?呵呵!问题其实不大啦,目前使用最广泛的 Fedora 或者是 Red Hat 大多是以 RPM ( 下一章会介绍 ) 来安装套件的,所以,您只要拿出当初安装 Linux 时的原版光碟,然后以下一章介绍的 RPM 来一个一个的加入到您的 Linux 主机里面就好啦!很简单的啦!

阅读(1252) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~