How C Works on Linux

I don't know if I'm crazy or what. I've been thinking about writing a book on how C works because I couldn't find any book like that when I worked on porting gcc/binutils. Althoug there are pieces of information out there on the web, I guess that it will be great to put all relevant information together for easy reference in one book. Right now I am a little suspicious. I don't know if C programers will bother to buy and read it.

 

Whatever, here are the list of topics from the top of my mind:

 

Preface

1. From Assembly to C

  1.1 dark age: programming in assembly is painful

  1.2 renaissance: C is for fun

2. C Compiler

  2.1 chicken or the egg: C compiler implemented in C

  2.2 C program translation

  2.3 static vs dynamic linking

3. From C back to Assembly

  3.1 dark side of debugging: only disassembled code

  3.2 ABI (Application Binary Interface): function call frame, parameter passing, register allocation etc

4. ELF & binutils

  4.1 layout of binary program in file

5. libc

  5.1 minimal mylibc

  5.2 glibc internals

6. ld.so

  6.1 GOT, what GOT?

  6.2 PLT

7. Bonus: Garbage collection

  Can we make it work for C programs?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值