程序员的自我修养
文章平均质量分 91
The_Hungry_Brain
现在不经意做的一件事,会在未来某个不可预期的时刻回馈自己。越努力,越幸运。
展开
-
程序员的自我修养——1、简介
一、简介计算机的核心:中央处理器CPU、内存、I/O控制芯片计算机软件体系结构:Applications: Web Browser Video Player Word Processor Email Client Image Viewer ...Development Tools:C/C++ CompilerA原创 2017-02-06 19:09:03 · 387 阅读 · 0 评论 -
程序员的自我修养——2、编译和链接
IDE一般把编译和链接合并到一起,称为构建(build)。4个步骤:预处理(Prepressing)编译(Compilation)汇编(Assembly)链接(Linking)1、预处理$ gcc -E hello.c -o hello.i-E表示只进行预处理。主要处理规则如下:将所有的 #define 删除,并且展开原创 2017-03-02 20:25:25 · 289 阅读 · 0 评论 -
程序员的自我修养——6、可执行文件的装载与进程
6.1 进程虚拟地址空间程序是一个静态的概念。(程序好比菜谱)进程是一个动态的概念。(进程好比整个炒菜的过程)虚拟地址空间(Virtual Address Space)硬件决定了地址空间的最大理论上限,即硬件的寻址空间大小。比如32位的硬件平台决定了虚拟地址空间的地址为 0 到 232 -1,即 0x00000000 ~ 0xFFFFFFFF。4GB虚拟空间大小。原创 2017-05-10 21:28:21 · 292 阅读 · 0 评论 -
程序员的自我修养——7、动态链接
7.1 为什么要动态链接1)内存和磁盘空间浪费静态链接的方式对于计算机内存和磁盘的空间浪费非常严重。(特别是多进程操作系统下)在静态链接的情况下,Program1和Program2都用到了Lib.o这个模块,所以它们同时在链接输出的可执行文件Program1和Program2有两个副本。在静态链接中,C原创 2017-06-10 15:04:55 · 428 阅读 · 0 评论 -
程序员的自我修养——3、目标文件里有什么
3.5 链接的接口——符号链接过程的本质就是要把多个不同的目标文件之间相互“粘”到一起。在链接中,目标文件之间的相互拼合实际上是目标文件之间对地址的引用。即对函数和变量的地址的引用。我们将函数和变量统称为符号(Symbol),函数名和变量名就是符号名(Symbol Name)。每个目标文件都会有一个相应的符号表(Symbol Table)。每个定义的符号有一个对应的原创 2017-04-05 20:43:49 · 458 阅读 · 0 评论