21世纪C语言(影印版)
Ben Klemens
出版时间:2013年06月
页数:273
“是否你的C语言编程环境被限制在vi和cc上?是否C语言的内存管理机制依然像20世纪90年代那样困扰你?Ben Klemens提出了这些常见的问题,并且展示了最新的工具如何使得C语言编程变得简单——能够帮助你调试、跟踪内存泄露、组织编译过程和管理源代码版本。”
——Dave Kitabjian
NetCarrier电信公司的软件开发部门主任

抛弃你对于C语言的那些陈旧观念吧。你应该重新学习这门编程语言,它早已改变了过去的面貌。在《21世纪C语言》中,你将了解到在其他C语言书籍中所缺失的那些最新技术。C语言不仅仅是现代编程语言的基石,它本身也是一门现代语言,尤其适合于编写高效的、尖端的应用程序。你需要放弃那些只有在大型机时代才有意义的旧习,转而选择相应的工具来使用这门改进的极其简单的语言。无论目前你是哪门编程语言的拥护者,你都不得不承认C语言也很出色。

· 使用shell脚本、makefile、文本编辑器、调试器和内存检测工具来搭建C语言环境
· 使用Autotools,它是C语言上广泛使用的跨平台包管理器
· 了解哪些陈旧的C语言概念要被淘汰掉
· 探讨那些虽然有问题但因用处太大而难以被放弃的C语言概念
· 使用符合C语言标准和POSIX标准的函数来解决C语言中字符串处理的问题
· 在函数中使用现代语法特性,它能够接受结构化的输入
· 搭建高层次的面向对象的库和程序
· 在高级数学计算、互联网服务器通信和数据库运行中使用现有的C语言库

Ben Klemens为布鲁金斯学会(Brookings Insitution)、世界银行(World Bank)、美国国家心理卫生研究所和美国政府编写统计分析和集约计算模型。他同时也为布鲁金斯学会和自由软件基金会(Free Software Foundation)工作来确保软件作者有权使用他们编写的软件。
  1. Chapter 1: Set Yourself Up for Easy Compilation
  2. Use a Package Manager
  3. Compiling C with Windows
  4. Which Way to the Library?
  5. Using Makefiles
  6. Using Libraries from Source
  7. Using Libraries from Source (Even if Your Sysadmin Doesn’t Want You To)
  8. Compiling C Programs via Here Document
  9. Chapter 2: Debug, Test, Document
  10. Using a Debugger
  11. Using Valgrind to Check for Errors
  12. Unit Testing
  13. Interweaving Documentation
  14. Error Checking
  15. Chapter 3: Packaging Your Project
  16. The Shell
  17. Makefiles vs. Shell Scripts
  18. Packaging Your Code with Autotools
  19. Chapter 4: Version Control
  20. Changes via diff
  21. Git’s Objects
  22. Trees and Their Branches
  23. Remote Repositories
  24. Chapter 5: Playing Nice with Others
  25. The Process
  26. Python Host
  27. The Language
  28. Chapter 6: Your Pal the Pointer
  29. Automatic, Static, and Manual Memory
  30. Persistent State Variables
  31. Pointers Without malloc
  32. Chapter 7: C Syntax You Can Ignore
  33. Don’t Bother Explicitly Returning from main
  34. Let Declarations Flow
  35. Cast Less
  36. Enums and Strings
  37. Labels, gotos, switches, and breaks
  38. Deprecate Float
  39. Comparing Unsigned Integers
  40. Chapter 8: Obstacles and Opportunity
  41. Cultivate Robust and Flourishing Macros
  42. Linkage with static and extern
  43. The const Keyword
  44. Chapter 9: Text
  45. Making String Handling Less Painful with asprintf
  46. A Pean to strtok
  47. Unicode
  48. Chapter 10: Better Structures
  49. Compound Literals
  50. Variadic Macros
  51. Safely Terminated Lists
  52. Foreach
  53. Vectorize a Function
  54. Designated Initializers
  55. Initialize Arrays and Structs with Zeros
  56. Typedefs Save the Day
  57. Return Multiple Items from a Function
  58. Flexible Function Inputs
  59. The Void Pointer and the Structures It Points To
  60. Chapter 11: Object-Oriented Programming in C
  61. What You Don’t Get (and Why You Won’t Miss It)
  62. Extending Structures and Dictionaries
  63. Functions in Your Structs
  64. Count References
  65. Chapter 12: Libraries
  66. GLib
  67. POSIX
  68. The GNU Scientific Library
  69. SQLite
  70. libxml and cURL
  71. Epilogue
  72. Glossary
  73. Bibliography
  74. index
书名:21世纪C语言(影印版)
作者:Ben Klemens
国内出版社:东南大学出版社
出版时间:2013年06月
页数:273
书号:978-7-5641-4205-6
原版书书名:21st Century C
原版书出版商:O'Reilly Media
Ben Klemens
 
Ben Klemens has been doing statistical analysis and computationally-intensive modeling of populations ever since getting his PhD in Social Sciences from Caltech. He is of the opinion that writing code should be fun, and has had a grand time writing analyses and models (mostly in C) for the Brookings Institution, the World Bank, National Institute of Mental Health, et al. As a Nonresident Fellow at Brookings and with the Free Software Foundation, he has done work on ensuring that creative authors retain the right to use the software they write. He currently works for the United States FederalGovernment.
 
 
The animal on the cover of 21st Century C is the common spotted cuscus (Spilocuscus maculatus), a marsupial that lives in the rainforests and mangroves of Australia, New Guinea, and nearby smaller islands. It has a round head, small hidden ears, thick fur, and a prehensile tail to aid in climbing. The curled tail is a distinctive characteristic; the upper part of the tail closest to the body is covered in fur, while the lower half is covered in rough scales on the inside surface to grip branches. Its eyes range in color from yellows and oranges to reds, and are slit much like a snake’s.

The common spotted cuscus is typically very shy, so it is rarely seen by humans. It is nocturnal, hunting and feeding at night and sleeping during the day on self-made platforms in tree branches. It is slow moving and somewhat sluggish—sometimes mistaken for sloths, other possums, or even monkeys.

Cuscuses are typically solitary creatures, feeding and nesting alone. Interactions with others, especially between competing males, can be aggressive and confrontational. Male cuscuses scent-mark their territory to warn off other males, emitting a penetrating musk odor both from their bodies and scent gland excretions. They distribute saliva on branches and twigs of trees to inform others of their territory and mediate social interactions. If they encounter another male in their area, they make barking, snarling, and hissing noises, and stand upright to defend their territory.

The common spotted cuscus has an unspecialized dentition, allowing it to eat a wide variety of plant products. It is also known to eat flowers, small animals, and occasionally eggs. Predators of the common spotted cuscus include pythons and some birds of prey.