文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux学习日记17-Linux 下源代码与Tarball套件管理

Linux学习日记17-Linux 下源代码与Tarball套件管理

时间:2007-04-12  来源:junzero

1.  前言

2.  一个简单的范例

3.  make的简易用法

4.  Tarball的管理和建议

5.  函数库管理

6.  检验软件正确性

7.  本章重点

 

声明:所有截图和兰色字体的内容来自《鸟哥的Linux私房菜》。

 

一、前言

通常在自己开发程序,或者应用程序升级,系统升级,新应用程序安装的时候都会涉及到源代码。

 

1.什么是源码,编译器,可执行文件?

       源码其实就是一些文本文件,只不过这里面的语言组织是有一定的格式与规定的。

       编译器,用来将源码编译成可执行的文件,他会根据一定的格式去做的!

       可执行文件:一般的shell脚本是文本方式的,可是最后由shell解释后都是调用binary 程序执行的;编译后生成的文件都是binary 方式的可执行文件。系统真正执行的都是二进制的可执行文件。

 

2.什么是函数库?

       故名思议,它就是一个库,可以提供函数相关功能的库。它的好处是:在要实现某个功能的时候,恰好这时候有个库中提供相应功能的函数,那么这时候我们只要去调用这个库里面的函数,在连接的时候加上这个库就好了,不需要写重复的代码。

下面是图示:

 

3.什么是make和configure?

       make是一个程序,是一个会去找Makefile文件的程序(也可以自己指定makefile文件的),Makefile文件则是用来记录源代码如何编译的详细信息。make还会自动判断哪些源代码被修改过了,要重新编译。

       configure用来侦测使用者的工作环境,然后生成Makefile文件。

 

4.什么是Tarball套件?

       它是一个将源代码打包并压缩后的东西。可以是利用tar与gzip完成的*.tgz文件,它通常包含:

• 原始程序代码档案;

• 侦测程序档案( 可能是 configure 或 config 等档名 );

• 本套件的简易说明与安装说明( INSTALL 或 README )。

 

5.如何安装与升级套件?

       安装和升级有下面两种方式:

       • 直接以原始码透过编译来安装与升级;

• 直接以编译好的 binary file 来安装与升级。

       第二种的方式很直接简单,但是往往这种东西并不是每个平台都合适。

       第一种就是相对于第一种稍微复杂一点,而且如果是很大的程序,这种方式往往会很痛苦,但是这种方式几乎没有平台限制。

       第一种的安装流程:

1. 将 Tarball 由厂商的网页下载下来;

2. 将 Tarball 解开,产生很多的原始码档案;

3. 开始以 gcc 进行原始码的编译( 会产生目标文件 object files );

4. 然后以 gcc 进行函式库、主、子程序的连结,以形成主要的 binary file;

5. 将上述的 binary file 以及相关的设定文件安装至自己的主机上面。

其中的3、4步可以通过configure加make来做以简化步骤,不过整个这种方式都需要系统中要有开发环境才行。

 

二、一个简单的范例

       几乎所有编程开始的第一步都是跟Hello World有关,因为前辈都会用实现输出Hello World来指导后辈开始第一步。

 

1.输出 Hello World

       先编写源代码,并保存,然后用gcc编译。执行生成的可执行文件。

上面生成的是默认的输出文件,当然我们还可以指定生成什么文件。

 

2.子程序的编译

       存在多个程序,主程序要调用子程序中的函数,要怎样编译?例子如下:

 

3.加入链接的函数库

       有些时候我们要在程序中调用一些库函数的,例子如下:

      

       对这个程序,如果要是直接编译的话,结果如下:

      

这里面用到的sin是包含在数学库libm.so中,所以要链接这个库:

如果程序中所引用的头文件在默认的inlude文件夹中不能找到,而要另外指定,那么我们就要明确的指定头文件所在的文件夹。

 

4.gcc的用法

       参考下图:

 

 

三、make

相关阅读 更多 +
排行榜 更多 +
奇境小镇MOD作弊菜单

奇境小镇MOD作弊菜单

角色扮演 下载
黑暗荒野2无限金币版

黑暗荒野2无限金币版

角色扮演 下载
骑战烈火之剑作弊菜单版

骑战烈火之剑作弊菜单版

角色扮演 下载