http://blog.chinaunix.net/uid-27018250-id-3867588.html bss 未初始化的全局数据 data 已经初始化的全局数据 text 代码段,机器指令 rodata 字符串常量 参考:《程序员自我修养》代码编译后的机器指令经常被放在代码段里,代码段名为" ...
分类:
系统相关 时间:
2016-06-21 17:34:13
阅读次数:
352
addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);什么意思? 这是UBOOT 中的一个分配视频帧缓冲区地址的函数,我想问的是:加一个(PAGE_SIZE - 1)) 然后在与上一个 ~(PAGE_SIZE - 1) 是起什么作用的,我看好多 ...
分类:
其他好文 时间:
2016-06-13 13:12:35
阅读次数:
115
一个进程的数据在内存中的布局如下图: bss段(bss segment):可读可写不可执行,通常用来存放程序中未初始化的全局变量。bss是英文Block Started by Symbol的简称。bss段属于静态内存分配。 data段(data segment):可读可写不可执行,通常用来存放程序中 ...
分类:
编程语言 时间:
2016-06-12 14:03:07
阅读次数:
224
前者稍微解除了一下PE文件格式,这次简要说一下PE的装载,PE文件中,所有段的起始地址都是页的整数倍,段的长度如果不是
页的整数倍,那就会映射时向上补齐到页的整数倍,PE文件中,连接器在生产可执行文件时,往往将所有的段尽可能的合并,所以一般
只有代码段,数据段,只读数据段和BSS等为数不多的几个段。
PE的术语中,有个相对虚拟地址的概念,其实当当与文件中的偏移量。它是相对于PE文件的装载基地...
分类:
其他好文 时间:
2016-06-12 02:49:45
阅读次数:
145
栈区 1、从高地址向低地址分配; 2、存储局部变量,函数结束立即释放。 堆区 1、从低地址向高地址分配; 2、允许程序员手动向堆区申请空间,用完需手动释放。常用函数:malloc(申请) calloc(申请) realloc(扩容) free(释放) 3、对象也是在堆区存储的。 BSS段 存储未初始 ...
分类:
其他好文 时间:
2016-06-08 15:18:19
阅读次数:
150
4.WLAN无线局域网(wareless local area network) IEEE802.11无线以太网协议标准 基础服务集合BSS 基站AP 服务服务集合标识SSID 即wifi名 分配系统DS Portal 门户设备接入WLAN 802.11 MAC层使用CSMA/CA载波监听碰撞避免, ...
分类:
其他好文 时间:
2016-06-05 13:47:03
阅读次数:
129
C语言的一个知识点:char*str1="helloworld"和charstr2[]="helloworld";的区别:1、内存管理:内存分为了:只读代码段,只读数据段,BSS,堆,栈五个不同区域。如上图所示:只读代码段一般存放的是编写好的程序。只读数据段放的是常量(字符串常量,数组名称,函数名称),只读区..
分类:
其他好文 时间:
2016-05-26 22:15:15
阅读次数:
381
1.查看各种目标文件的结构和内容 objdump -h SimpleSection.o 2.查看ELF文件代码段、数据段、BSS(Block Stated by Symbol)段的长度 size SimpleSection.o 注解: 程序源码被编译后主要分成两种段:程序指令和程序数据。 代码段属于 ...
分类:
其他好文 时间:
2016-05-24 00:07:51
阅读次数:
227
程序分为:代码区、数据区、bss区、堆区、栈区。平时常用区分的是代码区、堆区、栈区。下面加上例子区分一下。 程序分为:代码区、数据区、bss区、堆区、栈区。平时常用区分的是代码区、堆区、栈区。下面加上例子区分一下。 3 代码区顾名思义就是存放代码的,里面的内容是不可以修改的。例如你定义了一个变量ch ...
分类:
编程语言 时间:
2016-05-21 16:03:07
阅读次数:
298
一个程序本质上都是由 BSS 段、data段、text段三个组成的。这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。 BSS段:在采用段式内存管理的架构中,BSS段(bss segment ...
分类:
其他好文 时间:
2016-05-21 14:16:57
阅读次数:
212