C语言的一个知识点:char*str1="helloworld"和charstr2[]="helloworld";的区别:1、内存管理:内存分为了:只读代码段,只读数据段,BSS,堆,栈五个不同区域。如上图所示:只读代码段一般存放的是编写好的程序。只读数据段放的是常量(字符串常量,数组名称,函数名称),只读区..
分类:
其他好文 时间:
2016-05-26 22:15:15
阅读次数:
381
堆, NEW对象栈,局部变量数据段,类变量、常量代码段,方法的定义 按照声明的位置和作用域划分 -局部变量:方法和语句块内部定义的变量,栈空间里面,当方法或语句块一结束,局部变量空间马上释放,-成员变量(属性):方法外部、类的内部定义的变量(堆空间,随对象产生而产生,随对象销毁而销毁)-类变量(静态 ...
分类:
编程语言 时间:
2016-05-25 15:12:14
阅读次数:
148
引子 我们都知道,JavaScript数据类型分两大类,基本类型(或者称原始类型)和引用类型。 基本类型的值是保存在栈内存中的简单数据段,它们是按值访问的。JS中有五种基本类型:Undefined、Null、Boolean、Number和String。 引用类型的值是保存在堆内存中的对象,它的值是按 ...
分类:
编程语言 时间:
2016-05-24 09:10:24
阅读次数:
197
1.查看各种目标文件的结构和内容 objdump -h SimpleSection.o 2.查看ELF文件代码段、数据段、BSS(Block Stated by Symbol)段的长度 size SimpleSection.o 注解: 程序源码被编译后主要分成两种段:程序指令和程序数据。 代码段属于 ...
分类:
其他好文 时间:
2016-05-24 00:07:51
阅读次数:
227
作为一个程序员,或者励志要成为程序员的人,对于内存中的划分是必须要了如指掌的,我们不一定要去关心它的硬件实现,但在操作系统的层面上我们必须要清除内存到底是怎样划分的。这是一个令人头疼的问题,刚开始我分不清什么数据段,代码段,什么静态区,堆栈,堆……,感觉乱..
分类:
其他好文 时间:
2016-05-23 01:12:51
阅读次数:
174
1、链接器脚本的神奇作用 通过使用不同的链接器脚本,不需要更改源代码,就可以实现不同的功能! 链接器脚本对程序的生成有着至关重要的作用! 2、链接器脚本 >段 一个可执行程序通常是由:代码段,数据段,bss段构成的。 同样,在用于链接这个程序的链接器脚本中,就会反映出这几个段的信息。 段的信息是由S ...
分类:
其他好文 时间:
2016-05-20 19:03:19
阅读次数:
173
TCP协议TCP协议工作在传输层,虽然它与UDP的下一层都是IP但是它却和UDP的效果完全不同,它是一种可靠的传输层协议一、TCP协议封装TCP数据段头部共有20个字节,包括16位的源端口号,16位的目的端口号,端口号与前面各层中的协议类型相似,都指的是上层将要交给谁,这个端口号就..
分类:
其他好文 时间:
2016-05-18 07:00:16
阅读次数:
338
主要描述三方面的内容:第一是汇编语言的程序模版,以及模版涉及到的一些知识点;第二是如何调试汇编语言;第三是如何在汇编语言中调用C库函数。
1. 汇编语言的组成
汇编语言由段(section)组成,一个程序中执行的代码,叫文本段(text),程序还可能有定义变量,有付给初始值的变量放在数据段(data)中,没有赋初值或者付给零初值的放在bss段中。text段一定是要有的,data和bss可以没有...
分类:
编程语言 时间:
2016-05-12 20:17:28
阅读次数:
249
1、关于栈对于程序,编译器会对其分配一段内存,在逻辑上可以分为代码段,数据段,堆,栈
代码段:保存程序文本,指令指针EIP就是指向代码段,可读可执行不可写
数据段:保存初始化的全局变量和静态变量,可读可写不可执行
BSS:未初始化的全局变量和静态变量
堆(Heap):动态分配内存,向地址增大的方向增长,可读可写可执行
栈(Stack):存放局部变量,函数参数,当前状态,函数调用信息等,向地址减小的方...
分类:
系统相关 时间:
2016-05-12 11:26:40
阅读次数:
379
OSI 模型 数据单元层功能 主机层 Data(数据) 7. 应用层 网络进程到应用程序。 6. 表示层 数据表示形式,加密和解密,把机器相关的数据转换成独立于机器的数据。 5. 会话层 主机间通讯,管理应用程序之间的会话。 Segments(数据段) 4. 传输层 在网络的各个节点之间可靠地分发数 ...
分类:
其他好文 时间:
2016-05-10 20:51:58
阅读次数:
279