C高级编程:基于模块化设计思想的C语言开发是一本C语言高级编程书籍,由吉星编著。本书将模块化系统设计的个人总结与C语言的讨论融合。作者在写作的过程中,使用了个人工程代码库中的原型,并尽可能保证这些代码有一定的应用价值。为了在有限的章节尽可能给出一个较为完整的代码集合,因此,章节之间的代码存在一定依赖性,即,前序代码形成的模块,会被后续章节中所讨论的代码利用,非常适合C语言新手和c语言从事者们下载阅读。
内容介绍
C语言是一个“古老”的编程工具。在嵌入式系统、自控系统及计算机底层操作系统、数据处理中间件等系统开发中仍然是优先选择的开发工具。不同于很多更“高级”的编程语言,如Java,Python等,C语言是面向硬件特性,基于模块的一种编程语言。采用更“高级”语言的编程思维并不能实现有效的C程序设计。《C高级编程:基于模块化设计思想的C语言开发》是从C语言的特点,适合C语言开发的设计目标的特点出发,阐述一类C语言的开发方式,并通过设计具体模块,依次展开讨论。如果你想有效地使用C语言,在系统设计中灵活地应用模块化设计思想,本书是一个很不错的参考。
章节目录
前 言 第1章C语言的探讨 1 1.1C的编译链接与文件引用 3 1.1.1一个小程序 3 1.1.2链接与文件引用 5 1.2函数、数据与作用域 8 1.2.1全局函数与局部函数 8 1.2.2数据与数据的类别 9 1.2.3数据存储空间 11 1.3类型与操作 17 1.3.1基础类型及其操作和重定义 17 1.3.2结构体类型 20 1.3.3指针常量、指针与连续空间 21 1.3.4函数接口类型、可变参类型和执行跳转 26 1.4预处理操作 31 1.4.1C语言的词法与预处理 31 1.4.2宏判断的应用 37 1.4.3宏定义与模板函数 40 1.4.4预处理的杂项 43 1.4.5宏与代码的自动化构建 47 1.5小模块与函数内的模块化 52 1.5.1参数判断小模块 52 1.5.2goto与函数内的模块化 54 1.6结束语 63 第2章标准库、自有基础库与delog模块 64 2.1标准库 65 2.1.1assert.h、errno.h 66 2.1.2setjmp.h跨函数的跳转 67 2.1.3stdarg.h 69 2.1.4stdio.h 74 2.1.5stdlib.h 82 2.1.6string.h 86 2.1.7time.h 90 2.2构建自有基础库 91 2.2.1基础操作 93 2.2.2char的表 99 2.2.3UTF-8的基础表 106 2.2.4慢一点的字符串操作 112 2.3delog模块 118 2.3.1实体模块 118 2.3.2delog模块利用的系统库函数 119 2.4结束语 133 第3章make、工具与文档组织 134 3.1依赖与make 135 3.2自有工具库 146 3.2.1lex/flex的入门应用 147 3.2.2参数配置的子模块 153 3.2.3自己构造自己的小工具 175 3.3工程文档的组织 190 3.3.1makefile的补充设计 190 3.3.2模块目录与工具 193 3.3.3整体的工程目录 203 3.4结束语 211 第4章抽象逻辑与虚拟模块、索引模块 213 4.1抽象与宏 214 4.1.1抽象的描述 214 4.1.2抽象的对象与操作 217 4.1.3抽象的函数 221 4.2虚拟模块 228 4.2.1抽象类型的定义 228 4.2.2抽象操作和模板函数的组织方式 232 4.2.3模板函数的引用 234 4.3索引模块 241 4.3.1索引链及其基础操作 243 4.3.2索引模块的构建 246 4.3.3索引节点的存储单元 249 4.4结束语 252 第5章空间资源的组织 253 5.1资源的申请与利用 254 5.1.1动态空间的获取 254 5.1.2基于POSIX的共享空间 259 5.1.3基于POSIX的信号量 263 5.2连续空间的组织 268 5.2.1连续空间的组织信息 270 5.2.2通用数据空间类型_BUF与_P 272 5.3两个空间管理模块 278 5.3.1jx_buf模块 278 5.3.2jx_sharebuf 的子模块 301 5.3.3jx_sharebuf共享空间管理模块 309 5.4结束语 320 第6章数据的集合化组织 321 6.1集合化空间的组织 323 6.1.1集合的元素节点 324 6.1.2集合的组织 325 6.1.3节点空间的组织 329 6.2虚拟模块jx_sets 331 6.2.1jx_SetsType.h和jx_SetsDef.h 332 6.2.2模板函数头文件jx_SetsTemp.h 334 6.2.3模板化虚拟模块的实例 354 6.3集合化空间的扩展 359 6.3.1散列集合化空间的组织方式 359 6.3.2散列集合化空间的操作 363 6.3.3散列集合化空间的测试 370 6.4结束语 373 第7章复杂的数据集合化 375 7.1树集合化空间 376 7.1.1树的结构与基础操作 377 7.1.2树集合化空间管理模块 382 7.1.3相对复杂的树操作 392 7.2有向关系集合化空间 399 7.2.1有向关系结构与基础操作 400 7.2.2关系集合化空间的基础操作 404 7.3有向图的集合化空间 416 7.3.1模块的类型和定义 418 7.3.2模板函数 424 7.3.3可配置的遍历与搜索 432 7.4结束语 441 第8章进程与通信 442 8.1多进程的创建 443 8.1.1使用fork创建进程 444 8.1.2创建新会话 447 8.1.3调整文件的关联 449 8.2socket方式的进程间通信 452 8.2.1socket通信 452 8.2.2jx_socket模块 456 8.2.3会话与测试 469 8.3基于共享空间的进程间通信 472 8.3.1基于共享空间的队列模式 473 8.3.2基于共享空间的多端口模式 481 8.3.3多端口模式的应用场景 492 8.4结束语 496 第9章模块化的系统设计 497 9.1系统与模块 498 9.1.1什么是系统 498 9.1.2什么是模块 500 9.1.3模块化与关联 503 9.2模块化的分析与设计方法 506 9.2.1角色与任务 506 9.2.2框架与层次 509 9.2.3协同对接与系统整合 511 9.3C语言与模块化 512 9.3.1进程与模块 513 9.3.2模块封装与接口协议 516 9.3.3各种模块与抽象、复用 519 9.4结束语 521
使用说明
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读
发表评论
0条评论软件排行榜
热门推荐
- cnki全球学术快报电脑版 v1.0.1135.99M / 简体中文
- 开源阅读电脑版 v3.2517.96M / 简体中文
- 潇湘书院电脑版 v2.3.11.888官方版49.65M / 简体中文
- 数据挖掘导论 官方版61.61M / 简体中文
- 吉利博瑞用户手册 pdf高清版57.89M / 简体中文
- PHP语言精粹电子书 pdf扫描版25.72M / 简体中文
- linux常用命令大全 chm版1.48M / 简体中文
- 本草纲目 5.34M / 简体中文
- docker入门实战 pdf完整版1.38M / 简体中文
- C++黑客编程揭秘与防范第2版 冀云pdf扫描版54.58M / 简体中文