Skip to content

Commit

Permalink
Chapter8: Document the effects in the title
Browse files Browse the repository at this point in the history
Signed-off-by: Wu Zhangjin <[email protected]>
  • Loading branch information
lzufalcon committed Jul 29, 2015
1 parent 46e3be7 commit fb868d4
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions zh/chapters/02-chapter8.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
- [前言](#toc_3928_6176_1)
- [可执行文件格式的选取](#toc_3928_6176_2)
- [链接优化](#toc_3928_6176_3)
- [可执行文件“减肥”实例](#toc_3928_6176_4)
- [可执行文件“减肥”实例(从6442到708字节)](#toc_3928_6176_4)
- [系统默认编译](#toc_3928_6176_5)
- [不采用默认编译](#toc_3928_6176_6)
- [删除对程序运行没有影响的节区](#toc_3928_6176_7)
- [删除可执行文件的节区表](#toc_3928_6176_8)
- [用汇编语言来重写 Hello World](#toc_3928_6176_9)
- [用汇编语言来重写 Hello World(76字节)](#toc_3928_6176_9)
- [采用默认编译](#toc_3928_6176_10)
- [删除掉汇编代码中无关紧要内容](#toc_3928_6176_11)
- [不默认编译并删除掉无关节区和节区表](#toc_3928_6176_12)
Expand All @@ -17,12 +17,12 @@
- [寄存器赋值重用](#toc_3928_6176_15)
- [通过文件名传递参数](#toc_3928_6176_16)
- [删除非必要指令](#toc_3928_6176_17)
- [合并代码段、程序头和文件头](#toc_3928_6176_18)
- [合并代码段、程序头和文件头(52字节)](#toc_3928_6176_18)
- [把代码段移入文件头](#toc_3928_6176_19)
- [把程序头移入文件头](#toc_3928_6176_20)
- [在非连续的空间插入代码](#toc_3928_6176_21)
- [把程序头完全合入文件头](#toc_3928_6176_22)
- [汇编语言极限精简之道](#toc_3928_6176_23)
- [汇编语言极限精简之道(45字节)](#toc_3928_6176_23)
- [小结](#toc_3928_6176_24)
- [参考资料](#toc_3928_6176_25)

Expand Down Expand Up @@ -153,7 +153,7 @@ $ readelf -l libhello.so.0.0 #节区和上面类似,这里省略
[100]: 02-chapter2.markdown

<span id="toc_3928_6176_4"></span>
## 可执行文件“减肥”实例
## 可执行文件“减肥”实例(从6442到708字节)

这里主要是根据上面两点来介绍如何减少一个可执行文件的大小。以 `Hello World` 为例。

Expand Down Expand Up @@ -345,7 +345,7 @@ $ echo "(6442-708)/6442" | bc -l
下面,继续进行可执行文件的“减肥”。

<span id="toc_3928_6176_9"></span>
## 用汇编语言来重写"Hello World"
## 用汇编语言来重写"Hello World"(76字节)

<span id="toc_3928_6176_10"></span>
### 采用默认编译
Expand Down Expand Up @@ -783,7 +783,7 @@ $ wc -c hello
```

<span id="toc_3928_6176_18"></span>
## 合并代码段、程序头和文件头
## 合并代码段、程序头和文件头(52字节)

<span id="toc_3928_6176_19"></span>
### 把代码段移入文件头
Expand Down Expand Up @@ -1566,7 +1566,7 @@ $ wc -c hello
****:编译时务必要加 `--oformat=binary` 参数,以便直接跟源文件构建一个二进制的 `Elf` 文件,否则会被 `ld` 默认编译,自动填充其他内容。

<span id="toc_3928_6176_23"></span>
## 汇编语言极限精简之道
## 汇编语言极限精简之道(45字节)

经过上述努力,我们已经完全把程序头和代码都融入了 52 字节的 `Elf` 文件头,还可以再进一步吗?

Expand Down

0 comments on commit fb868d4

Please sign in to comment.