新書推薦:
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:HK$
59.8
《
慈悲与玫瑰
》
售價:HK$
89.7
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:HK$
78.2
《
心跳重置
》
售價:HK$
60.7
《
云中记
》
售價:HK$
78.2
《
中国古代妇女生活(中国古代生活丛书)
》
售價:HK$
48.3
《
你的认知正在阻碍你
》
售價:HK$
66.7
《
我们身边的小鸟朋友:手绘观鸟笔记
》
售價:HK$
80.3
|
內容簡介: |
C语言是一个“古老”的编程工具。在嵌入式系统、自控系统及计算机底层操作系统、数据处理中间件等系统开发中仍然是优先选择的开发工具。不同于很多更“高级”的编程语言,如Java,Python等,C语言是面向硬件特性,基于模块的一种编程语言。采用更“高级”语言的编程思维并不能实现有效的C程序设计。本书是从C语言的特点,适合C语言开发的设计目标的特点出发,阐述一类C语言的开发方式,并通过设计具体模块,依次展开讨论。如果你想有效地使用C语言,在系统设计中灵活地应用模块化设计思想,本书是一个很不错的参考。
|
目錄:
|
目录前 言第1章C语言的探讨 11.1C的编译链接与文件引用 31.1.1一个小程序 31.1.2链接与文件引用 51.2函数、数据与作用域 81.2.1全局函数与局部函数 81.2.2数据与数据的类别 91.2.3数据存储空间 111.3类型与操作 171.3.1基础类型及其操作和重定义 171.3.2结构体类型 201.3.3指针常量、指针与连续空间 211.3.4函数接口类型、可变参类型和执行跳转 261.4预处理操作 311.4.1C语言的词法与预处理 311.4.2宏判断的应用 371.4.3宏定义与模板函数 401.4.4预处理的杂项 431.4.5宏与代码的自动化构建 471.5小模块与函数内的模块化 521.5.1参数判断小模块 521.5.2goto与函数内的模块化 541.6结束语 63第2章标准库、自有基础库与delog模块 642.1标准库 652.1.1assert.h、errno.h 662.1.2setjmp.h跨函数的跳转 672.1.3stdarg.h 692.1.4stdio.h 742.1.5stdlib.h 822.1.6string.h 862.1.7time.h 902.2构建自有基础库 912.2.1基础操作 932.2.2char的表 992.2.3UTF-8的基础表 1062.2.4慢一点的字符串操作 1122.3delog模块 1182.3.1实体模块 1182.3.2delog模块利用的系统库函数 1192.4结束语 133第3章make、工具与文档组织 1343.1依赖与make 1353.2自有工具库 1463.2.1lexflex的入门应用 1473.2.2参数配置的子模块 1533.2.3自己构造自己的小工具 1753.3工程文档的组织 1903.3.1makefile的补充设计 1903.3.2模块目录与工具 1933.3.3整体的工程目录 2033.4结束语 211第4章抽象逻辑与虚拟模块、索引模块 2134.1抽象与宏 2144.1.1抽象的描述 2144.1.2抽象的对象与操作 2174.1.3抽象的函数 2214.2虚拟模块 2284.2.1抽象类型的定义 2284.2.2抽象操作和模板函数的组织方式 2324.2.3模板函数的引用 2344.3索引模块 2414.3.1索引链及其基础操作 2434.3.2索引模块的构建 2464.3.3索引节点的存储单元 2494.4结束语 252第5章空间资源的组织 2535.1资源的申请与利用 2545.1.1动态空间的获取 2545.1.2基于POSIX的共享空间 2595.1.3基于POSIX的信号量 2635.2连续空间的组织 2685.2.1连续空间的组织信息 2705.2.2通用数据空间类型_BUF与_P 2725.3两个空间管理模块 2785.3.1jx_buf模块 2785.3.2jx_sharebuf 的子模块 3015.3.3jx_sharebuf共享空间管理模块 3095.4结束语 320第6章数据的集合化组织 3216.1集合化空间的组织 3236.1.1集合的元素节点 3246.1.2集合的组织 3256.1.3节点空间的组织 3296.2虚拟模块jx_sets 3316.2.1jx_SetsType.h和jx_SetsDef.h 3326.2.2模板函数头文件jx_SetsTemp.h 3346.2.3模板化虚拟模块的实例 3546.3集合化空间的扩展 3596.3.1散列集合化空间的组织方式 3596.3.2散列集合化空间的操作 3636.3.3散列集合化空间的测试 3706.4结束语 373第7章复杂的数据集合化 3757.1树集合化空间 3767.1.1树的结构与基础操作 3777.1.2树集合化空间管理模块 3827.1.3相对复杂的树操作 3927.2有向关系集合化空间 3997.2.1有向关系结构与基础操作 4007.2.2关系集合化空间的基础操作 4047.3有向图的集合化空间 4167.3.1模块的类型和定义 4187.3.2模板函数 4247.3.3可配置的遍历与搜索 4327.4结束语 441第8章进程与通信 4428.1多进程的创建 4438.1.1使用fork创建进程 4448.1.2创建新会话 4478.1.3调整文件的关联 4498.2socket方式的进程间通信 4528.2.1socket通信 4528.2.2jx_socket模块 4568.2.3会话与测试 4698.3基于共享空间的进程间通信 4728.3.1基于共享空间的队列模式 4738.3.2基于共享空间的多端口模式 4818.3.3多端口模式的应用场景 4928.4结束语 496第9章模块化的系统设计 4979.1系统与模块 4989.1.1什么是系统 4989.1.2什么是模块 5009.1.3模块化与关联 5039.2模块化的分析与设计方法 5069.2.1角色与任务 5069.2.2框架与层次 5099.2.3协同对接与系统整合 5119.3C语言与模块化 5129.3.1进程与模块 5139.3.2模块封装与接口协议 5169.3.3各种模块与抽象、复用 5199.4结束语 521
|
|