基于linux程序中段的学习总结详解

 更新时间:2013年05月23日 16:16:08   作者:  
本篇文章是对linux程序中段的学习进行了详细的总结与分析,需要的朋友参考下
linux程序的段陆陆续续接触过一些,今天适当的总结一下,时间仓促,总结的比较零散。
linux 段:
text:已编译程序的机器代码。
.rodata:只读数据。printf中的格式串,或者开关语句的跳转表。
data:已初始化的全局变量。
bss:未初始化的全局变量。
symtab:符号表。
注意:
1、如果定义一个全局变量,int i = 0;它被初始化为0,但是,它却不是放在data段中的,而是放在bss段中的。因为编译器可能会做一些优化,如果初始化为0,则它会将它等同于未初始化的变量。这样的可能要求他会将所有未初始化的全局变量(bss段)初始化为0。——但是这个可能会和编译器有关系。
2、对于static全局变量,它在符号表中有一个属性表示他是local的,不是global。local的符号式不允许被其他的文件引用的。
3、static定义的局部变量,编译器会把它作为static全局变量来处理。它在符号表中是出现的(局部变量是不出现的)。唯一不同的是,它会把它在符号表中的名字改掉,一般会增加一个后缀:“.1788”。用这种方法来防止和其他的全局变量重名。而且也可以防止对它的调用。
4、段是有对齐的。如果定义一个char字符,会发现它有时会增加四个字节,之后定义,段大小便不再增加。
5、查看程序段的工具包括:readelf,objdump(加上-t可以查看变量属于哪个段),size(可以查看各个段的大小。)

相关文章

  • 关于Linux搭建RabbitMQ集群环境图文详解

    关于Linux搭建RabbitMQ集群环境图文详解

    这篇文章主要介绍了关于Linux搭建RabbitMQ集群环境图文详解,RabbitMQ天然支持集群,集群是保证可靠性的一种方式,同时可以通过水平扩展以达到增加消息吞吐量能力的目的,需要的朋友可以参考下
    2023-05-05
  • 判断Unix系统及库文件是32位还是64位的详解

    判断Unix系统及库文件是32位还是64位的详解

    这篇文章主要介绍了判断Unix系统及库文件是32位还是64位的的相关资料,这里整理下查看系统位数的命令,需要的朋友可以参考下
    2016-11-11
  • CentOS 配置无密码登录的实现

    CentOS 配置无密码登录的实现

    这篇文章主要介绍了CentOS 配置无密码登录的实现的相关资料,需要的朋友可以参考下
    2017-06-06
  • Ubuntu18.04服务器密码忘记或被篡改如何重置密码

    Ubuntu18.04服务器密码忘记或被篡改如何重置密码

    这篇文章主要介绍了Ubuntu18.04服务器密码忘记或被篡改如何重置密码,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Centos定制rpm包、搭建yum仓库的教程

    Centos定制rpm包、搭建yum仓库的教程

    这篇文章主要介绍了Centos定制rpm包、搭建yum仓库的教程,感兴趣的朋友跟随小编一起看看吧
    2019-11-11
  • 详解linux添加硬盘分区挂载教程

    详解linux添加硬盘分区挂载教程

    本篇文章主要介绍了详解linux添加硬盘分区挂载教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Ubuntu下查看ssh服务是否安装或启动的方法

    Ubuntu下查看ssh服务是否安装或启动的方法

    这篇文章主要介绍了Ubuntu下查看ssh服务是否安装或启动的方法,文中给出了详细的方法示例,对大家具有一定的参考借鉴价值,有需要的朋友们下面来一起看看吧。
    2017-01-01
  • 详解nohup /dev/null 2>&1 含义的使用

    详解nohup /dev/null 2>&1 含义的使用

    这篇文章主要介绍了详解nohup /dev/null 2>&1 含义的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Apache 获取真实ip的配置的实现方法

    Apache 获取真实ip的配置的实现方法

    这篇文章主要介绍了Apache 获取真实ip的配置的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • Linux安装Redis实现过程及报错解决方案

    Linux安装Redis实现过程及报错解决方案

    这篇文章主要介绍了Linux安装Redis实现过程及报错解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论