CSAPP Hello程序Linux系统编程入门
哈尔滨工业大学 CSAPP 课程的hello
程序,真的是挺适合用来入门系统编程的。整体结构清晰,注释也比较友好,对刚接触汇编
、Linux 系统调用的同学挺友好的。你要是准备啃 CSAPP 那本大部头,先拿这个程序练练手,准没错。
程序主要跑在Linux 环境下,用的是gcc
编译器,配合调试器gdb
能把函数调用、寄存器变化看得明明白白。哪怕你之前只写过网页,现在也能一步步摸清底层执行逻辑,理解什么是“从源代码到可执行文件”。
最有意思的是,它不仅简单,还能玩出不少花样。比如你可以加几个printf
试试不同输入怎么触发不同段的执行,还可以用objdump
反汇编看看生成的汇编长啥样。理解了这些,去读 CSAPP 的后续内容,比如栈帧布局、缓冲区溢出,就轻松多了。
哦对了,如果你刚好也在找哈尔滨工业大学的其他课程资料,顺手给你放几个链接:
如果你对底层原理感兴趣,又想找个简单例子下手,这个hello
程序还蛮合适。最好在真实的 Linux 环境里跑,比如装个 Ubuntu 虚拟机,别在 Windows 里模拟,那样体验不完整。
下载地址
用户评论