编译
demystify
积跬步以至千里;聚小流以成江海
展开
-
《程序员的自我修养》读书笔记2
一、静态链接原创 2015-06-07 21:43:40 · 598 阅读 · 0 评论 -
《程序员的自我修养》读书笔记6
Windows下的动态链接 DLL文件的扩展名不一定是.dll,也可能是别的,比如.ocx(OCX控件)或者是.CPL(控制面板程序)。 DLL的设计目的与共享对象有些出入,DLL更加强调模块化,即微软希望通过DLL机制加强软件的模块化设计,使得各种模块之间能够松散地组合、重用和升级。 一、声明导出函数的方法 使用_declspec( dll原创 2015-07-08 19:48:44 · 529 阅读 · 0 评论 -
《程序员的自我修养》读书笔记7
内存 一、程序的内存布局 现代的应用程序都运行在一个内存空间里,比如在32位系统里,这个内存空间拥有4GB的寻址能力,应用程序可以直接使用32位的地址进行寻址,这被称为平坦(flat)的内存模型。原创 2015-07-12 22:32:18 · 609 阅读 · 0 评论 -
《程序员的自我修养》读书笔记4
动态链接 一、动态链接与静态链接的对比 静态链接浪费内存和磁盘空间(因为静态链接在可执行文件中可能包含了公有库和其他库的内容,因此浪费磁盘空间,当系统中存在多个程序实例时,每个实例都有静态库的副本,因此浪费内存空间); 静态链接带来程序开发和发布的麻烦(当程序中有多个静态链接库存在时,只要其中一个模块更新,整个程序就需要重新链接和重新发布,尤其是要通过网络来更新程原创 2015-06-30 23:30:31 · 461 阅读 · 0 评论 -
《程序员的自我修养》读书笔记5
Linux共享库的组织 一、共享库版本 1、共享库的兼容性 共享库的更新被分为两类: 兼容更新:所有的更新只是在原有的共享库基础上添加一些内容,所有原有的接口都保持不变。 不兼容更新:共享库更新改变了原有的接口,使用该共享库原有接口的程序可能不能运行或运行不正常。 导致C语言共享库ABI改变的行为主要有如下4个: 导出函数的行为发生改原创 2015-07-05 20:27:20 · 589 阅读 · 0 评论 -
《程序员的自我修养》读书笔记3
一、可执行文件的装载原创 2015-06-14 14:33:14 · 764 阅读 · 0 评论 -
《程序员的自我修养》读书笔记1
一、可执行文件格式 现在PC平台流行的可执行文件格式主要是Windows下的PE( Portable Executable ) 和Linux 的ELF( Executable Linkable Format ), 它们都是COFF( Common file format )格式的变种。 1、ELF文件结构描述 (1)ELF文件头(ELF he...原创 2015-06-04 09:01:24 · 1227 阅读 · 0 评论