随笔分类 -  Compiler

摘要:DLL(Dynamic Link library):动态链接库,库中包含了由多个程序同时使用的代码和数据。 之所以使用DLL,从下面一张图就能大致看出。 DDL有助于多个程序共享代码和数据。 而我们传统所说的库,如<stdio.h>它们属于静态库:函数和数据被编译进一个二进制文件(通常扩展名为.LI 阅读全文
posted @ 2016-11-24 18:24 zhazhalovecoding 阅读(173) 评论(0) 推荐(0)
摘要:gdb调试的时候会出现esp和ebp这两个指针,而这两个指针为我们查看栈的情况提供了方便。 简单点说,esp指向栈顶,而ebp指向栈底。例如一段程序: 1 #include <stdio.h> 2 3 int layout(int a){ 4 int b = a + 5; 5 return b; 6 阅读全文
posted @ 2016-11-13 18:04 zhazhalovecoding 阅读(2353) 评论(0) 推荐(0)
摘要:不同的compiler在编译的过程中对于存储的分配可能略有不同,但基本结构大致相同。 大体上可分为三段:Text段、Data段和BSS段。 text段用于存放代码,通常情况下在内存中被映射为只读,但data和bss是可写的。 数据存放通常分成如下几个部分: 1、栈:由编译器自动分配,保存函数的局部变 阅读全文
posted @ 2016-10-29 10:19 zhazhalovecoding 阅读(5244) 评论(0) 推荐(0)