Unix/Linux 软件安装
首先我们明确。在Unix like的机器上,一套软件并不唯独一个程序,而是一堆程序代码文件。

比如main.c,haha.c,sin_value.c这三个源码文件。
1.程序源代码
1.1用gcc等编译工具手动编译
#什么是gcc工具?GNU的gcc工具是非常通用的C语言编译器。
gcc -c main.c
gcc -c haha.c
gcc -c sin_value.c
gcc -c cos_value.c
生成main.o,haha.o,sin_value.o,cos_value.o 4个经过编译文件。
将几个.o文件进行连接。并增加libm数学函数,以生成main可运行文件。
gcc -o main main.o haha.o sin_value.o cos_value.o \
-lm -L/usr/lib -L/lib
#然后我们就能够跑main这个可运行文件了。
[padep@cnsz081003 fwy]$ ./main
Please input your name: fengweiyuan
Please enter the degree angle (ex> 90): 110
Hi, Dear fengweiyuan, nice to meet you.
The Sin is: 0.94
The Cos is: -0.34
1.2 用configure与make等工具编译源代码
./configure
检測用户环境,检查该OS是否适合等。然后会生成makefile文本文件。

1.是否有适合的编译程序,能够编译本软件的程序源代码。

2.是否已经存在本软件所需的函数库或其它依赖软件。

3.OS平台,包含内核版本号,是否适合本软件。
4.内核的头定义文件是否存在。

makefile其中记录了源代码怎样编译等信息。这个步骤的相关信息你能够參考README与INSTALL等文件。
makeclean
不一定须要。但运行一下比較安全。假设已经有上次编译过的.o文件存在,当然是清除一下比較好。这样我们就可确定新编译出来的运行文件我们能够确定是使用自己的机器所编译完毕的。

make
会在当前文件夹下搜索makefile这个文本文件,利用makefile来编译源代码,编译成可运行文件,放当前文件夹下。(这个过程就如上面1.1的生成.o文件,将.o文件连接一起并加函数库的工作)。
make会自己主动推断源代码是否经过变动了而自己主动更新运行文件。

make install
假设makefile里面有写上关于install的选项。就会将上一步编译完毕的文件安装到默认的文件夹下。以完毕安装。

这些步骤是一个一个来的,前面的没有成功,后面的也无法运行。
总结
因为不同OS的函数库路径、或者函数库文件名称定义,或者是默认安装的编译程序。以及内核版本号不同。

理论上,不能将CentOS 5.x上编译出来的二进制文件(二进制运行文件包括该OS上函

posted @ 2017-05-25 20:39 lytwajue 阅读(...) 评论(...) 编辑 收藏

Unix/Linux 软件安装的更多相关文章

  1. Linux 软件安装位置选择指南

    Linux 软件安装   Linux 下安装软件不像 Windows 下安装这么简单,Windows 下会自动选择合适安装路径,而 Linux 下安装路径大部分完全由自己决定,我可以将软件安装到任意可 ...

  2. Linux软件安装,RPM与YUM

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3843955.html ...

  3. Linux基础学习(6)--Linux软件安装

    第六章——Linux软件安装 一.软件包管理简介 1.软件包分类: (1)源码包:脚本安装包 (2)二进制包(RPM包.系统默认包) 2.源码包: (1)源码包的优点:开源,如果有足够的能力,可以修改 ...

  4. Linux软件安装中RPM与YUM 区别和联系

    .tc-nav-row{ height:38px; margin: 8px 15px; } .tc-nav-tab{ text-align: center; color:#333333; line-h ...

  5. 第五部分 linux 软件安装RPM SRPM与YUM

    第五部分  linux  软件安装RPM    SRPM与YUM   软件管理员简介 RPM与DPKG两大主流 rpm: redhat       centos     suse    命令:yum ...

  6. Linux软件安装——服务管理的命令

    Linux软件安装——服务管理的命令 摘要:本文主要学习了Linux系统中服务管理的命令. service命令 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启 ...

  7. Linux软件安装——服务管理

    Linux软件安装——服务管理 摘要:本文主要学习了Linux中有关服务管理的知识. 什么是服务 服务一般是放置在后台运行的一个或多个进分程,为用户或系统提供某项特定的服务,有些是系统服务,有些则是独 ...

  8. Linux软件安装——安装软件的命令

    Linux软件安装——安装软件的命令 摘要:本文主要学习了如何在Linux系统中安装.更新.卸载软件. rpm命令 rpm命令用来在Linux系统上进行软件的安装. 基本语法 安装命令: rpm -i ...

  9. Linux软件安装——软件包

    Linux软件安装——软件包 摘要:本文主要学习了Linux下软件安装的相关知识. 软件包 简介 Linux下的软件包众多,且几乎都是经GPL授权.免费开源(无偿公开源代码)的.这意味着如果你具备修改 ...

随机推荐

  1. 编程规范:allocator

    一.作用 标准库allocator类定义在头文件memory中,它帮助我们将内存分配和对象构造分离开来 allocator<T> a //定义一个名为a的allocator对象,它可以为类 ...

  2. 扫黑除恶Team第四次团队作业

    二.博客撰写要求 文章开头给出团队序号,开发的软件名称,仓库地址. 给出完成本次冲刺需要做的事情(Sprint Backlog)及相应说明. 本次冲刺总结. 三.评分规则 注意:本次作业总分61分.发 ...

  3. CGPathAddArc

    使用CGPathAddArc使UIView的Layer绕中心点旋转 2012-12-04 15:38 775人阅读 评论(0) 收藏 举报 animationAnimationiosiOSIOSlay ...

  4. 获取url上的参数

    var aa = '?name=hss&age=13';        function strToObj(str){            if(typeof str === 'undefi ...

  5. HNOI 2010 物品调度 并查集 置换

    题意: 题意有点细,暂不概括.请仔细审题. 分析: 我们先要把c生成出来. 记得颜神讲这道题,首先表明,这道题有两个问题需要处理. 第一个是要先定位,第二个是要求最小移动步数. 定位时对于每一个物品i ...

  6. 读书笔记:《人有人的用处》------N.维纳. (2016.12.28)

    读书笔记:<人有人的用处>------N.维纳 ·某些系统可以依其总能量而和其他系统区别开来. ·在某些情况下,一个系统如果保持足够长时间的运转,那它就会遍历一切与其能量相容的位置和动量的 ...

  7. 记一次C++编程引用obj文件作为静态库文件

    简介 常用静态库文件的名字一般是 ***.lib ,例如 nisyscfg.lib 就是一个静态库文件,但是一个例程居然是引用 **.obj 文件作为静态库,有点非常规啊. 这是一个NI488.2 的 ...

  8. [bzoj2822][AHOI2012]树屋阶梯 (卡特兰数+分解质因数+高精度)

    Description 暑假期间,小龙报名了一个模拟野外生存作战训练班来锻炼体魄,训练的第一个晚上,教官就给他们出了个难题.由于地上露营湿气重,必须选择在高处的树屋露营.小龙分配的树屋建立在一颗高度为 ...

  9. MySQL SQL语句 生成32位 UUID

    在运营中,有时会碰到线下下单,线下注册,需要在数据库对其数据批量生成导入的场景. 此时如果你的数据表主键并不是Int整型自动递增而是32位的UUID这种情况该怎么办呢? MySQL 其实实现了UUID ...

  10. 2017ccpc 杭州Master of Sequence

    Problem K. Master of SequenceTherearetwosequencesa1,a2,··· ,an, b1,b2,··· ,bn. LetS(t) =∑n i=1⌊t−bi ...