各位有什么深入了解 C 语言的书嘛?

2023-11-07 10:54:03 +08:00
 WilliamColton
如题,最近发现对 C 语言的了解还不够深入,如函数传参顺序,局部变量和全局变量的赋值等,各位有什么好的书籍推荐么(可以和汇编结合起来讲),最近对这个挺感兴趣,同时也在学习汇编,所以劝我放弃之类的话就不用说了,毕竟是兴趣
3572 次点击
所在节点    C
34 条回复
asm
2023-11-07 16:47:43 +08:00
《 C 语言程序设计 现代方法 第 2 版 》 一本足以,c 都到 c2x 了,那些还在推荐 c89 这种古董级的,何必呢,那些都是你们走过的路。
再着,看你的那些问题,你看再多书也不会解惑,因为上面那些经典 c ,都是讲开发的,不会解释细节。
最好的方法,就是找一些例子,编译后,使用 od 调试,再对着 ida 看。
这类书不多,大部分都是关于逆向的,可以找找恶意代码的分析之类的,也就那么几章。
rqzrqh
2023-11-07 17:35:17 +08:00
《 debughacks 》 《 binaryhacks 》 《计算机体系结构》
多用 gdb 多跟踪调试调用过程,用工具观察用户态库的调用,用户态和内核态的变化。
用 gdb 观察函数调用是怎么转化为汇编的。
c 语法很简单,可能有一些底层的实现稍微偏门点,比如 printf 。
cuihua
2023-11-07 17:36:00 +08:00
系统编程推荐《 Linux/Unix 系统编程手册》
内功推荐 CSAPP 、程序员的自我修养
seinefee
2023-11-07 18:18:13 +08:00
《 C 和指针》,英文名叫《 Pointers on C 》,作者是 Kenneth Reek
把这本书吃透,时间充足的话最好看英文原版
zzz22333
2023-11-07 18:20:45 +08:00
嵌入式 C 的自我修养
leang521
2023-11-07 20:33:41 +08:00
如果想理解透 C 语言,还是的看编译原理,然后反过来拿汇编对照,你才能理解 C 语法为何这么设计
zhuangzhuang1988
2023-11-07 20:54:07 +08:00
aresyang
2023-11-07 22:35:38 +08:00
深入到都看不懂的地步如何,Formal C semantics: CompCert and the C standard https://xavierleroy.org/bibrefs/Krebbers-Leroy-Wiedijk-2014.html
aresyang
2023-11-07 22:40:08 +08:00
@aresyang 细节在 Mechanized semantics for the Clight subset of the C language https://xavierleroy.org/bibrefs/Blazy-Leroy-Clight-09.html
zorchp1
2023-11-08 00:00:32 +08:00
我自己看的_c 程序设计,现代方法,微信读书就有,很成体系
unnamedhao
2023-11-08 06:39:52 +08:00
网易有个斯坦福的视频,从 c 讲到汇编,可以摸摸耳朵,名字记不清了
duke807
2023-11-08 09:54:10 +08:00
建议找个 mcu ,stm32 或者 risc-v ,然后自己写一个简单的抢占式的调度器
listenerri
2023-11-08 14:30:33 +08:00
既然楼主有一定 c 基础,那么我推荐看一下: https://c-faq-chn.sourceforge.net/ccfaq/index.html
junmoxiao
2023-11-08 18:23:25 +08:00
学汇编是正途,接下来把 c 和汇编怎么对应的搞明白就 ok

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/989412

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX