E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《程序员的自我修养》
读《
程序员的自我修养
》的自我梳理和解惑
基本术语:VMS——进程虚拟地址空间,PMS——物理内存空间,DSO——动态共享对象程序与文件的关系平时我们所说的“一个程序由多个文件构成”两种视角:程序开发阶段的多个文件(源代码文件或者库文件),程序最终运行时状态所需的多个文件。在此之后谈到“程序由多个文件构成”表述时,均是从程序最终运行时状态的角度来分析的。构成一个程序的文件又称为“模块”,一个程序要运行必须由一个可执行文件(可执行ELF文
liuchao1986105
·
2011-08-13 19:00
windows
OS
gcc
编译器
磁盘
程序开发
推荐:《
程序员的自我修养
——链接、装载与库》 读书笔记
两天前从同学的书桌上无意间拾起这本书,翻看了前几页,即被他追根溯源的精彩描述吸引,花了两整天的时间,通读完这本书。忍不住写篇读书笔记,以为备忘,如果对其他的朋友有所助益,秉承这开源的精神,就最好了~ 这本书正是我一直想要的学习资料。它并不是简单的讲述了某些技术的机理(这是大多数的书籍做的,读者会时常莫名其妙的接收了几个新的机制,而不知道,为什么这样),更是将龙去脉依依列出,让人深入理解其
BIAOBIAOqi
·
2011-08-01 19:00
专访《
程序员的自我修养
——链接、装载与库》作者俞甲子
专访《
程序员的自我修养
——链接、装载与库》作者俞甲子2009-04-3013:4951CTO.com博文视点我要评论(0)字号:T|T针对俞甲子、石凡和潘爱民三位的新书《
程序员的自我修养
——链接、装载和库
junecau
·
2011-07-24 17:00
弱符号与强符号
3.5.5弱符号与强符号2009-04-2212:52俞甲子/石凡/潘爱民人民邮电出版社《
程序员的自我修养
:链接、装载与库》第3章目标文件里有什么。
xgbing
·
2011-06-27 09:00
thread
多线程
gcc
扩展
reference
编译器
《
程序员的自我修养
》笔记--静态链接
在通过编译和汇编后,就生成了目标文件,链接就是把这些目标文件加工后合并成一个输出文件的过程。链接过程可以分为两步:第一步空间与地址分配。扫描所有的输入目标文件,获得它们每个各个段的长度、属性和位置,并且将输入目标文件中的符号表中所有的符号定义和符号引用收集起来,统一放到一个全局符号表。这一步中,链接器将能够获得所有输入目标文件的段长度,并且将它们合并(相同的段互相合并,如.text和.text段合
vividonly
·
2011-05-25 20:00
工作
linux
汇编
struct
平台
X86
《
程序员的自我修养
》笔记--可执行文件的装载
程序执行时所需要的指令和数据必须都在内存中才能正常运行,最简单的办法就是将程序运行时所需要的指令和数据全部都装入内存,这样程序就能顺利执行,这就是最简单的静态装入的方法。但是程序所需要的内存数量可能大于物理内存,静态装入就不太现实。 后来研究发现,程序运行时具有局部性原理,所以我们可以将程序最常用的部分驻留在内存中,而将一些不太常用的数据存放在磁盘上,这就是动态装载的原理。 覆盖装入和页映射是两
vividonly
·
2011-05-06 15:00
数据结构
算法
linux
存储
磁盘
linux内核
《
程序员的自我修养
》笔记--目标文件详解
从源程序到目标文件的生成过程 最简单的编译命令是gcchelloworld.c,它包含了以下几个步骤:预处理、编译、汇编、链接,下面分别简介。预处理:处理#define宏定义、#if#ifdef等条件编译指令、#include预编译指令,删除注释,添加行号和文件名标识,保留所有的#pargma编译器指令,经过预编译后的文件为.i文件。预编译命令为:gcc-Ehello.c-ohello.i或者cp
vividonly
·
2011-05-06 12:00
汇编
gcc
File
存储
平台
编译器
程序员的自我修养
读书笔记——目标文件的格式总结
WindowsLinux可执行文件格式PE-COFFELF可重定位文件.obj.o可执行文件.exe/bin/bash 无扩展名共享目标文件.dll.so动态链接库.dll.so静态链接库.lib.a
gabriel1026
·
2011-04-14 22:00
读书
扩展
程序员的自我修养
读书笔记——编译与链接
使用gcc进行编译c语言文件很简单: gabriel@gabriel-laptop:~$gcchello.c-ohello 但是事实上,这个过程可分为4步,分别是预处理(Prepressing),编译(Compilation),汇编(Assembly)和链接(Linking),下面分别简述以下这四个过程,并辅以实例给大家以感性认识。 预编译 预编译过程主要是处理源文件中
gabriel1026
·
2011-04-13 21:00
汇编
gcc
assembly
读书
编译器
compilation
程序员的自我修养
学习笔记——静态链接
1.静态链接的核心是符号解析和虚拟地址的重定位,全局变量和函数都是以符号的形式存储,使得链接的核心是符号的解析进行地址的重定位,所有的源程序是分别编译的,生成中间目标文件.obj,里面调用的符号是以未定义的形式存在,并且在程序的链接过程中的重定位表中存在,指示当前符号需要重定位,否则就是未包含响应的库或者函数类型不匹配;2.ABI兼容性问题,ABI涉及到范围比较广泛,包括底层的内存分布模式,符号解
xjbzju
·
2011-03-30 16:00
程序员的自我修养
系列之一
这一系列文章主要想跟大家探讨一下一个专业的软件技术从业人员应该具备哪些态度和能力。我想到太多的主题,开了太多的系列,多头并进,我很脑涨啊。第一篇说一下什么呢?……
suiyc
·
2011-03-18 17:00
Linux操作系统--动态链接库和代码段地址无关性(PIC)
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。一,动态链接操作系统将把程序依赖的目标文件全部加载到内存,如果依赖关系满足,则系统开始进行链接。
wapysun
·
2011-03-17 08:00
数据结构
linux
ext
XP
gcc
Linux操作系统--动态链接库和代码段地址无关性(PIC)
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。一,动态链接操作系统将把程序依赖的目标文件全部加载到内存,如果依赖关系满足,则系统开始进行链接。
isiqi
·
2011-03-17 08:00
数据结构
linux
XP
ext
gcc
Linux操作系统--装载ELF文件
注意:本文中的大部分是阅读 《
程序员的自我修养
》 作 者:俞甲子,石凡,潘爱民 的读书笔记。推荐大家看看这本书。
wapysun
·
2011-03-16 12:00
linux
windows
脚本
读书
bash
Linux操作系统--装载ELF文件
注意:本文中的大部分是阅读 《
程序员的自我修养
》 作 者:俞甲子,石凡,潘爱民 的读书笔记。推荐大家看看这本书。
isiqi
·
2011-03-16 12:00
linux
windows
脚本
读书
bash
Linux操作系统--可执行文件的装载
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
wapysun
·
2011-03-14 17:00
数据结构
linux
windows
XP
读书
Linux操作系统--可执行文件的装载
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
isiqi
·
2011-03-14 17:00
数据结构
windows
linux
XP
读书
Linux操作系统--软件体系结构
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
wapysun
·
2011-03-08 10:00
多线程
数据结构
linux
windows
读书
Linux操作系统--软件体系结构
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
isiqi
·
2011-03-08 10:00
多线程
数据结构
linux
windows
读书
Linux操作系统--软件体系结构
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
wapysun
·
2011-03-08 10:00
多线程
数据结构
linux
windows
读书
《
程序员的自我修养
》读后感
一。‘这是一个牛人的时代’,突然很想如是感叹。这几天在CSDN,JAVAEYE,ITPUB,CHINAUNIX等几个社区逛来逛去,可能是太过闲适,见博客就看,见微博就跟,这几日状态犹如闽南话‘碎碎念’,不过如‘无心插柳’般,也有所收获,听过一句话‘在计算机领域,所有书本都是用来查的’,之前看了《深入理解计算机系统》,对计算机底层算是有一个大概轮廓的了解,这几天把《程序员的自我
a2660018
·
2011-03-02 19:00
虚拟机
linux
网络协议
嵌入式
读书
Microsoft PE/COFF文件格式
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
isiqi
·
2011-03-02 12:00
数据结构
C++
c
Microsoft
C#
Microsoft PE/COFF文件格式
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
wapysun
·
2011-03-02 12:00
数据结构
C++
c
Microsoft
C#
Linux程序调试--静态链接
注意:本文中的大部分是阅读 《
程序员的自我修养
》 作 者:俞甲子,石凡,潘爱民 的读书笔记。推荐大家看看这本书。
isiqi
·
2011-03-01 08:00
C++
c
linux
C#
gcc
Linux程序调试--静态链接
注意:本文中的大部分是阅读 《
程序员的自我修养
》 作 者:俞甲子,石凡,潘爱民 的读书笔记。推荐大家看看这本书。
wapysun
·
2011-03-01 08:00
C++
c
linux
C#
gcc
(转)
程序员的自我修养
什么是好的程序员?是不是懂得很多技术结节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术结节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几个方面的素质:1、有钻研精神,勤学善问,举一反三。2、积极向上的态度,有创造性思维。3、与人积极交流沟通的能力,有团队精神。4、谦虚谨慎,戒骄戒燥。5、与出的代码质量高,包括:代码
zhaozhanyong
·
2011-02-28 14:00
Linux程序调试--查看二进制文件
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
isiqi
·
2011-02-28 10:00
C++
c
linux
C#
gcc
Linux程序调试--查看二进制文件
注意:本文中的大部分是阅读《
程序员的自我修养
》作者:俞甲子,石凡,潘爱民的读书笔记。推荐大家看看这本书。
wapysun
·
2011-02-28 10:00
C++
c
linux
gcc
C#
关于.bss段的讨论,全局未定义变量和未定义的局部静态变量
由《
程序员的自我修养
》给出的例子:/*SimpleSection.ctestthecoffobj'sstructureauthor:wuyichaodate:2011-2-26*/intprintf(constchar
alexmahone_xie
·
2011-02-26 22:00
链接装载那些儿
弱符号与强符号
弱符号与强符号http://book.51cto.com2009-04-2212:52俞甲子/石凡/潘爱民人民邮电出版社我要评论(0)摘要:《
程序员的自我修养
:链接、装载与库》第3章目标文件里有什么。
macky0668
·
2010-11-29 23:00
thread
多线程
gcc
扩展
reference
编译器
链接装载与库《
程序员的自我修养
》 之 全局符号冲突问题
链接装载与库《
程序员的自我修养
》之全局符号冲突问题 1.由强符号和弱符号引起的全局符号冲突强符号:编译器默认函数和初始化了的全局变量弱符号:未初始化的全局变量为弱符号(也可以通过gcc的__attribute
yihucha166
·
2010-11-28 17:00
程序运行流程——链接、装载及执行
在阅读完《深入理解计算机系统》第一章(计算机系统漫游)、第七章(链接)以及第十章(虚拟存储器)和《
程序员的自我修养
——链接、装载与库》后,历时悠久的梦想终于要实现了。
caoxu1987728
·
2010-11-27 22:00
Major
程序员的自我修养
---读书笔记
二. 1.预处理(preprocessing)->编译(compilation)->汇编(assembly)->链接(linking) 2.预编译 gcc -E hello.c -o hello.i Hello.i中的内容: # 1 "Hello.c" # 1
u0fly
·
2010-10-27 11:00
C++
c
linux
gcc
读书
浅析"烫烫烫烫"是怎么来的
,虽然是知道编译器对栈中没有初始化的数据会进行默认的初始化工作,但是一直不得要领,在拜读《
程序员的自我修养
》的时候有所收获,还挺有意思的,写出来和大家分享。
xiakan008
·
2010-10-22 10:00
c
汇编
化工
编译器
C语言变参函数的两个实现
作者:朱金灿来源:http://blog.csdn.net/clever101/ 国庆假期看了《
程序员的自我修养
——链接、装载和库》的大部分,其中P337提到了C语言变长参数的一些实现原理,书上的一个例子是
clever101
·
2010-10-08 22:00
C语言变参函数的两个实现
作者:朱金灿 来源:http://blog.csdn.net/clever101/ 国庆假期看了《
程序员的自我修养
——链接、装载和库》的大部分,其中P337提到了C语言变长参数的一些实现原理
happmaoo
·
2010-10-08 22:00
C++
c
XP
C#
D语言
《
程序员的自我修养
——链接、装载与库》勘误
《
程序员的自我修养
——链接、装载与库》2010年3月第5次印刷电子工业出版社这本书确实不错,刚看完一遍,有很多收获。有一些自己觉得是错误的地方指出来,望对他人有用。1.
lengyuex
·
2010-05-21 21:00
list
出版
微软
2010
《
程序员的自我修养
——链接、装载与库》勘误
《
程序员的自我修养
——链接、装载与库》2010年3月第5次印刷电子工业出版社这本书确实不错,刚看完一遍,有很多收获。有一些自己觉得是错误的地方指出来,望对他人有用。
Happy Hacking
·
2010-05-20 15:00
c语言中volatile关键字的作用
读文章之前可以先看一下《
程序员的自我修养
》第28页过度优化。
hzgdiyer
·
2010-04-20 22:00
c
优化
任务调度
语言
任务
编译器
最"小"的程序--内嵌汇编实现的hello world
/*作者:帅得不敢出门程序群3503799看了
程序员的自我修养
--链接装载与库后写的直接使用系统调用实现打印helloworldkernel2.6.23原理:写stdout来实现输出stdout对应fd
zmlovelx
·
2010-04-04 20:00
c
汇编
File
测试
user
gcc
程序员的自我修养
:链接、装载与库读后所感
作者:帅得不敢出门 程序群3503799 一次在图书馆书架间穿梭,在新书书架上看到这本书,承认当时只是被>中的
程序员的自我修养
这几个字所吸引,副标题在黑色封面下显得力不从心。
zmlovelx
·
2010-03-24 23:00
function
汇编
此书非读不可——《
程序员的自我修养
》
今天花了一天的时间从头到尾翻了一遍,跳过了那些有X86汇编的部分,和分析C++CRT中解构析构的部分,其他的都读了一遍。读完之后唯一的感觉就是:此书非读不可,而且要经常读。毫无疑问作者对于链接,装载和库这三个方面是有深刻的认识的,于深度和广度都无可挑剔,而且组织文字的能力也属上乘,虽然我之前看过相当多相关的spec,但是读一本书可以这么快,不能不说作者文字功底确实不错。不过我觉得,如果能把dwar
pengjune
·
2010-03-14 09:38
工作
读书
此书非读不可——《
程序员的自我修养
》
今天花了一天的时间从头到尾翻了一遍,跳过了那些有X86汇编的部分,和分析C++ CRT中解构析构的部分,其他的都读了一遍。 读完之后唯一的感觉就是:此书非读不可,而且要经常读。 毫无疑问作者对于链接,装载和库这三个方面是有深刻的认识的,于深度和广度都无可挑剔,而且组织文字的能力也属上乘,虽然我之前看过相当多相关的spec,但是读一本书可以这么快,不能不说作者文字功底确实不错。 不过我觉得,如
pengcqu
·
2010-03-14 09:00
工作
全局变量,静态变量以及局部变量存放位置
今天开始看《
程序员的自我修养
:链接、装载与库》,对ELF文件格式内容进行一下总结,主要分析全局变量,静态变量以及局部变量存放位置。
clearriver
·
2009-11-03 21:00
c
优化
header
File
gcc
测试
程序员的自我修养
前日闲逛书城,偶得一书,曰:《
程序员的自我修养
》。第一感觉就是:标题党;第二感觉,想到周星星在《喜剧之王》中的宝贝,那本北极毛毛熊写的《演员的自我修养》。
flyoxs
·
2009-09-28 19:00
编程
工作
敏捷开发
SOA
LINQ
saas
程序员的自我修养
(转)
前日闲逛书城,偶得一书,曰:《
程序员的自我修养
》。第一感觉就是:标题党;第二感觉,想到周星星在《喜剧之王》中的宝贝,那本北极毛毛熊写的《演员的自我修养》。
gisfarmer
·
2009-09-24 11:00
编程
工作
敏捷开发
SOA
LINQ
saas
随笔:xxx的自我修养
实际这些都是借口,都是给自己不去学DirectX的借口;唉,现在还真难让自己静下心来去看DirectX~于是拿起同事的一本书来《
程序员的自我修养
》(认真地说,不是星爷说的《演员的自我修养》。。。)
Codejie's C++ Space
·
2009-08-12 16:00
程序员的自我修养
一忌:轻易言败,没有自信没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次。就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请不要做程序员,你不可能成功。
aini3456
·
2009-06-29 21:00
程序员的自我修养
一忌:轻易言败,没有自信 没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次。 就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请不要
yvfish
·
2009-06-29 20:00
工作
程序员的自我修养
一忌:轻易言败,没有自信 没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次。 就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请不要
yvfish
·
2009-06-29 20:00
工作
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他