1. 为什么调试的时候需要编译选项中添加 -g?
因为调试的时候需要编译,选项中添加 -g,是为了能够调试。不加可以运行,但是不能调试。
2.readelf命令.
(1)功能:用来显示elf格式文件的信息
(2)用来显示一个或多个elf格式的目标文件,可以通过它的选项来控制显示那些信息。这里的elf-file(s)表示那些被检查的文件。可以支持32位,64位的elf格式文件,也就是包含elf文件的文档(这里一般指的是ar命令将一些elf文件打包之后生成的例如lib*.a之类的“静态库文件”)。
3. Linux下软件安装的几种方式(源码安装, rpm安装, yum安装),重点要理解rpm安装和yum安装的区别.
(1)源码安装:是指需要自己到网上下载源码包,然后解压并进行安装。这种方式可以指定配置参数,更加灵活方便,兼容性更强,比较适合对Linux系统有较多了解的进阶用户使用。
具体安装步骤:
a)找到相应的软件包,比如(名字)***.tar.gz,下载到本机目录;
b)打开一个终端,切换为root用户;
c) cd ***.tar.gz所在的目录;
d) tar -xzvf ***.tar.gz (一般会生成一个soft目录 )
e) cd ***
f) ./configure -----为编译做准备
g) make -----------软件编译
h) make install----完成安装
(2)rmp安装:是指安装别人编译好的软件包。rpm即Redhat Package Manager,Redhat的软件包管理方式,适用于rpm install 命令。rpm不仅已经把软件源代码编译成二进制文件,而且还对软件包依赖的软件,系统环境等做了统计。文件扩展名:rpm ,还有一种SRPM:没有编译成二进制文件,但是也包含rpm的特性 ,用rpm方式安装软件,如果依赖的软件没有事先安装,软件则无法安装成功。
具体安装步骤:
a)找到相应的软件包,比如***.version.rpm,下载到本机目录;
b)打开一个终端,切换到root用户;
c)cd ***.version.rpm所在的目录;
d)输入rpm -ivh ***.version.rpm
(3)yum安装:安装前可以先用 yum list package 查看是否已安装,如果未安装可以使用 yum search package 搜索yum仓库中有关这个软件的信息。
具体安装步骤:
a)yum install package #安装指定的安装包package,如果有依赖软件会一并安装
b)yum源升级
c)yum update #全部更新
d)yum update package #更新指定程序包package