GitHub - codr7/hacktical-c: 一本实用的黑客指南,介绍 C 编程语言。

  • Hacktical C 简介:这是一本实用的黑客指南类 C 编程语言书籍,纪念 Dennis Ritchie,假设读者有基本编程知识,聚焦于利用 C 语言的强大和灵活性的实用技术,仍在完善中,有问题可在仓库报告。
  • 作者相关:作者认为程序员有学术型、黑客型和淘金型,自己是黑客型,1985 年圣诞节得到 Commodore 64 后开始写代码,至今写过多种语言,起初不太重视 C 语言,后因意识到软件中复杂性是大敌而重视起来,还学到很多技巧。
  • 许可证:本书内容通过CC BY-NC-ND 4.0公开许可。
  • 支持:作者以开放许可证发布书籍是为让更多人受益,也相信创作者应得到补偿,可通过 Stripe、Liberapay 赞助,或使用 BTC(bitcoin:18k7kMcvPSSSzQtJ6hY5xxCt5U5p45rbuh)或 ETH(0x776001F33F6Fc07ce9FF70187D5c034DCb429811),世界上没有免费的东西,贡献很重要。
  • 为何选择 C 语言:认为 C 语言独特,是近似可移植的汇编语言,提供类似自由度,不刻意防止犯错,自由与责任并存;如今很多程序员推荐更严格语言,但很多人没能力用好 C 语言且未正确学习,数字革命基础用 C 语言,软件有 bug 是人类设计和构建复杂软件不成熟导致,而非编程语言问题,应选择适合工作的工具。
  • 构建相关:makefile 需要gccccachevalgrind,操作步骤为git clone https://github.com/codr7/hacktical-c.gitcd hacktical-cmkdir buildmake
  • 平台相关:推荐 Unix 系统(Linux 目前支持最好)和 Free/Open/NetBSD,这些平台支持valgrind使 C 编程更安全高效;Microsoft 长期忽视 C 语言,其编译器落后,Windows 可通过 WSL2 运行 Linux;macOS 逐渐偏离 Unix 根源,在该环境下编写 C 语言越来越令人沮丧。
  • 可移植性相关:书中代码使用了一些未纳入 C 标准的 GNU 扩展,如清理属性、多行表达式和嵌套函数,除嵌套函数外,代码中使用的扩展在clang中也能正常工作,有一个hc_defer()功能目前没有扩展无法实现,其他情况有替代解决方案但不太方便。
  • 章节内容:内容按自然进展排列,后期章节基于已介绍概念,可自由跳转但需准备回溯填补空白,包含MacrosFixed-Point Arithmetic等 15 个章节,整个书可按instructions导出为ePub格式。
阅读 11
0 条评论