《CSAPP》(第3版)答案(第七章)
P6
in .symtab? | type | module | section | |
---|---|---|---|---|
buf | Yes | external | m | .data |
bufp0 | Yes | global | swap | .data |
bufp1 | Yes | local | swap | .bss |
swap | Yes | global | swap | .text |
temp | No | ------ | ----- | ------ |
incr | Yes | local | swap | .text |
count | Yes | local | swap | .bss |
P7
double x;
void f() {
/*x = -0.0;*/
}
把x=-0.0删了。
P8
- A
main.1
main.2 - B
unknown
unknown - C
error
error
P9
No, I can’t.
P10
- A
gcc p.o libx.a
- B
gcc p.o libx.a liby.a libx.a
- C
gcc p.o libx.a liby.a libx.a libz.a
P11
为bss文件留出空间
P12
- A
A D D R ( s ) = A D D R ( . t e x t ) = 0 x 4004 e 0 ADDR(s) = ADDR(.text) = 0x4004e0 ADDR(s)=ADDR(.text)=0x4004e0
A D D R ( r . s y m b o l ) = A D D R ( s w a p ) = 0 x 4004 f 8 ADDR(r.symbol) = ADDR(swap) = 0x4004f8 ADDR(r.s