软件管理

软件管理
源码—编译—可执行程序

编译
将程序的源码转换成硬件所支持的汇编语言
每个硬件厂家都有自己的一套汇编语言

可夸平台
在A主机上开发并且可正常运行的程序在B主机也可以允许
源码可夸平台


动态库
位置在:/lib /lib64
程序员在开发程序的时候,程序源码中只有程序的基本功能,而所有的库文件都是以独立文件方式存放的
缺点:
移植过程麻烦
优点:
移植方便

静态库
程序员在开发程序的时候,将程序依赖的库文件都集成在程序源码中
缺点:
程序源代码体积会较大
优点:
移植方便

安装源码程序的流程
1. 预编译
处理源码中所有以#开头的行
删除各种注释行
添加行号

  1. 编译
    使用编译工具,gcc(Gnu C Complier)
    按照汇编语言语法格式进行编译,生成汇编语言

  2. 汇编
    将汇编语言转换成机器语言

  3. 创建连接
    指向所依赖的库文件的位置

面试题:A主机上开发的软件a.soft,在B主机是否可以运行?(centos6)

不一定
1)两个主机的cpu架构不确定是否相同(32位 64位)
2)要考虑a.soft的库是动态库还是静态库,如果是基于动态库开发的,那么在B主机上就必须有其依赖的库文件

面试题:A(6.5 64位 intel cpu)主机上开发的软件a.soft,在B(6.5 64位 amd cpu)主机是否可以运行?

只要有依赖的库文件,就可以正常运行,因为intel 和 amd 用的都是X86架构的cpu

程序的构成
程序的命令
由环境变量 PATH
通常放在:/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
如果程序的路径不在以上位置,那么有两种解决方式
方式1:在执行这个程序的命令的时候,用绝对路径
方式2:修改环境变量
# vim /etc/profile.d/soft1.sh
PAHT=$PATH:/home/soft1/bin
export PATH
# source /etc/profile

头文件
    /usr/include
    如果程序的头文件不在以上位置,那么有两种解决方式
    方式1:将这个程序的头文件复制到这个目录下
    方式2:将这个程序存放头文件的目录软连接到/usr/include下,并取一个方便记忆的名字
        # ln -sv /home/soft1/include /usr/include/soft1

库文件
    默认位置:/lib /lib64 /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64
    如果程序的库文件不在以上位置,解决方式是修改系统查找库文件的路径,如下
        # vim /etc/ld.so.conf.d/soft1.conf
            /home/soft1/lib

帮助文档
    /usr/share/man/man1 2 3 4 5 6 7 8
    如果程序的帮助文件不在以上位置,解决方式有两种
    方式1:将该程序的帮助文件复制到系统帮助文件所在位置下
    方式2:修改man的配置文件(/etc/man.config)

配置文件
    特点:主+子配置文件
        主配置文件:soft1.conf
        子配置文件目录:soft1.conf.d
        子配置文件:soft1.conf.d/*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值