a.c

#include <stdio.h>
extern int share;
int main(void)
{
int a=100;
swap(&a,&share);
}

b.c

int share=1;
void swap(int *a,int *b)
{
*a^=*b^=*a^=*b;
}

编译

#gcc -c a.c b.c

链接

#ld a.o b.o -e main -o ab

查看

#objdump -h  文件

VMA即虚拟地址

size即大小

file off即偏移量

.text段被分配到地址0x08048094 大小0x62字节

.data段被分配到地址0x080490f8 大小0x4字节

0x27+0x3A=0x61

0+4=4

size查看大小

参考《程序员的自我修养—链接、装载与库》--第四章 静态链接

.data和.text段合并相关推荐

  1. stm32中堆、栈、flash、ROM、RAM、bss段、data段、text段、Code、Ro-data、 ZI-data、RW-data简介

    1. 堆.栈.flash.ROM.RAM.bss段.data段.text段.Code.Ro-data ZI-data.RW-data的区别? 1.1 堆.栈简介 堆栈是指在stm32启动文件中定义的那 ...

  2. 关于text段、data段和bss段

    根据APUE,程序分为下面的段:.text, data (initialized), bss, stack, heap. data/bss/text: text段在内存中被映射为只读,但.data和. ...

  3. text段,data段,bss段,堆和栈

    红色部分为问题部分 堆和栈的区别 一.预备知识-程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等 ...

  4. (深入理解计算机系统) bss段,data段、text段、堆(heap)和栈(stack)(C/C++存储类型总结)(内存管理)

    文章目录 bss段 data段 text段 堆(heap) 栈(stack) 一个程序本质上都是由 bss段.data段.text段三个组成的. 存储类型总结 bss段 bss段(bss segmen ...

  5. BSS段 data段 text段 堆heap 和 栈stack

    BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属于静态内存分配.     ...

  6. Text段、Data段和BSS段

    不同的compiler在编译的过程中对于存储的分配可能略有不同,但基本结构大致相同. 大体上可分为三段:Text段.Data段和BSS段. text段用于存放代码,通常情况下在内存中被映射为只读,但d ...

  7. 实例说明代码段(.text)、数据段(.data)、bss段、只读数据段(.rodata)、堆栈的划分依据

    目录 程序实例介绍各个段内容.分析段(segment)分布 分析代码段(.text).数据段(.data).bss段.只读数据段(.rodata)划分依据 程序实例介绍各个段内容.分析段(segmen ...

  8. C/C++程序内存布局(data段,bss段,text段)以及static关键字详解

    目录 1.内存布局 1.1 data段(可读可写) 1.2 text段(只读) 1.3 bss段(可读可写) 1.4 堆区 1.5 栈区 1.6全局区/静态区 1.7 字符串常量区 1.8 代码区 1 ...

  9. bss段,data段、text段、堆heap和栈stack

    bss段,data段.text段.堆heap和栈stack bss段 data段 text段 堆(heap) 栈(stack) 例子 在C的学习中,你总避免不了对各类数据的存储区域学习归纳总结,简单的 ...

最新文章

  1. Actipro WPF Studio破解
  2. Python检查系统可疑用户
  3. 关于三维莫队问题的一些思考和探究
  4. elxel表格纸张尺寸_纸张知识|克重厚薄多少,正度大度纸开本尺寸规格是什么大小,和A4有啥区别?...
  5. [原]一些KVM测试过程中的命令笔记(2)分配实例
  6. [编程入门]猴子吃桃的问题
  7. mysql导入数据提前修改字段_复习MySQL③导入数据、检查及修改
  8. 【Qt教程】4.1 - Qt5 文件系统 QFile文件读写操作
  9. apan在PHP什么意思,Apanteles是什么意思
  10. anaconda下载过慢修改源配置
  11. 阿里大数据之路:数据模型篇大总结
  12. 如何听懂画外音-《用事实说话》:听懂“暗语”,让沟通透明化
  13. vue-pdf的使用
  14. VMware临时文件清理
  15. 大疆图像算法面试流程
  16. 【Linux-SVN】安装 SVN Server
  17. 国内10大github开源产品(前端)
  18. 吃自助最高境界:扶墙进,扶墙出
  19. 鲁大师显卡跑分测试软件,鲁大师跑分测试 鲁大师跑分零分怎么办
  20. 想要创业,注册公司需要什么流程和资料?

热门文章

  1. Java8 新的 try-with-resources 语句,自动资源释放
  2. Paper4:Voxel-Based Extraction and Classification of 3-D Pole-Like Object From Mobile LIDAR Point Clo
  3. 小R SLAM机器人树莓派3b+ ROS kinetic 环境搭建笔记
  4. 学习《Linux设备模型浅析之设备篇》笔记(深挖一)
  5. gym102443 D.Guess the Path
  6. 深度学习(3)基础3 -- 前向传播与反向传播
  7. LeetCode刷题记录1——717. 1-bit and 2-bit Characters(easy)
  8. c语言usb串口输出,C语言实现模拟USB对8bit数据的NRZI编码输出
  9. python3socket非阻塞_利用Python中SocketServer 实现客户端与服务器间非阻塞通信
  10. BZOJ 4595 SHOI2015 激光发生器 射线,线段,偏转