Examples that we are going to learn How the compiler implements procedure call How to use above knowledge to avoid The security holes from buffer overflow bugs that Plaque network and Internet software How to recognize and avoid the nasty errors during linking That confound the average programmer Plague:引起麻烦 Nasty:危险的 Confound:混淆
21 Examples that we are going to learn • How the compiler implements procedure call • How to use above knowledge to avoid – The security holes from buffer overflow bugs that • Plague network and Internet software • How to recognize and avoid the nasty errors during linking – That confound the average programmer Plague: 引起麻烦 Nasty: 危险的 Confound: 混淆
Examples that we are going to learn How to write our own(*Optional) Unix shell Dynamic storage allocation Web server 22
22 Examples that we are going to learn • How to write our own (*Optional) – Unix shell – Dynamic storage allocation – Web server
Fundamental course for systems ° Compilers Operating Systems Networking Architectures(with digital component design)
23 Fundamental course for systems • Compilers • Operating Systems • Networking • Architectures (with digital component design)
laTTorms Hardware platform Intel Ia-32 Operating system Linux Programming language ANSIC Compiler GNU-gcc 24
24 Platforms • Hardware platform – Intel IA-32 • Operating system – Linux • Programming language – ANSI C • Compiler – GNU-gcc
The C programming Language c was developed in1969to1973 by dennis Ritchie of Bell Laboratories The american National Standards Institute (ansi ratified the aNsi c standard in 1989 The standard defines the c language and a set of library functions known as the c standard library Ratify:批准,认可
25 The C Programming Language • C was developed – in 1969 to 1973 – by Dennis Ritchie of Bell Laboratories. • The American National Standards Institute (ANSI) – ratified the ANSI C standard in 1989. • The standard defines – the C language – and a set of library functions known as the C standard library. Ratify: 批准,认可