《Linux C编程》是2005-12-30齣版的一本图书。
本书系统地介绍了在Linux平台下用C语言进行程式开发的过程,通过列举大量的程式实例,使读者很快掌握在Linux平台下进行C程式开发的方法和技巧,并具备开发大型应用程式的能力。本书系统地介绍了在Linux平台下用C语言进行程式开发的过程,通过列举大量的程式实例,使读者很快掌握在Linux平台下进行C程式开发的方法和技巧,并具备开发大型应用程式的能力。本书内容翔实,主要包括:Linux平台下C语言及其编程环境的介绍,C语言编译器、调试工具和自动维护工具的使用方法,Linux系统提供的特有函式调用,在C程式中访问档案的方法言网路编程方法以及curses编程等。《linux c从入门到精通编程》从初学者的角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍丁在linux系统下使用c语言进行应用程式开发应该掌握的各方面技术。全书共分20章,包括linux系统概述、c语言基础、记忆体管理、基本编辑器vim和emacs、gcc编译器、gdb调试工具、进程控制、进程间通信、档案操作、档案的输入/输出操作、信号及信号处理、网路编程、make编译基础、linux系统下的c语言与资料库、集成开发环境、界面开发基础、界面布局、界面构件开发、glade设计程式界面、mp3音乐播放器。所有知识都结合具体实例进行介绍,涉及的程式代码给出了详细的注释,可以使读者轻鬆领会linux系统下的c语言应用程式开发的精髓,快速提高开发技能。本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性,适合于有一定的C语言基础,需要在Linux系统上编程的程式设计人员阅读。
另外,本书除了纸质内容之外,配书光碟中还给出了海 量开发资源库,主要内容如下:
语音视频讲解:总时长4小时,共30段 实例资源库 881个经典範例
模组资源库:15个常用模组项目 案例资源库:15个实用项目
测试题库系统:616道能力测试题目 面试资源库:371道企业面试真题
ppt电子教案
《linux c从入门到精通编程》适合作为软体开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,也可供开发人员查阅、参考。
目录第1章Linux下C语言编程简介 11.1Linux简介 11.2C语言的简介和特点 41.3Linux程式设计基础知识 51.3.1程式安装目录 51.3.2头档案 51.3.3库档案 61.4Linux下C语言编程环境概述 71.5Linux程式设计的特点 91.6Linux下C语言编码的风格 101.6.1GNU编程风格 101.6.2Linux核心编程风格 11第2章vi与emacs编辑器 122.1vim概述及套用 122.2emacs简介及套用 172.3Linux下的其他编辑器 212.3.1最简单的文本编辑器ed 212.3.1最容易上手的编辑器pico 23第3章gcc编译器 273.1gcc简介 273.2使用gcc 283.3gcc警告提示功能 303.4库依赖 323.5gcc代码最佳化 333.6加速 343.7gcc常用选项 353.8gcc的错误类型及对策 36第4章gdb调试器 384.1gdb概述 384.2使用gdb 414.2.1gdb的命令概貌 424.2.2gdb中运行Linux的shell程式 444.2.3在gdb中运行程式 444.2.4调试已运行的程式 454.2.5暂停/恢复程式运行 454.2.6查看栈信息 524.2.7查看源程式 544.2.8查看运行时数据 564.2.9改变程式的执行 64第5章使用make 685.1makefile实例档案分析 685.1.1make与makefile档案的关係 695.1.2在makefile档案中使用变数 715.1.3让make自动推导依赖关係 725.1.4另类风格的makefile档案 735.1.5清空目标档案的规则 735.2makefile档案概述 745.3make书写规则 765.3.1规则举例 765.3.2在规则中使用通配符 775.3.3档案搜寻 785.3.4伪目标 795.3.5多目标 805.3.6静态模式 815.3.7自动生成依赖性 825.4使用命令 845.4.1显示命令 845.4.2执行命令 845.4.3命令出错 855.4.4嵌套执行make 855.4.5定义命令包 875.5使用变数 885.5.1变数的基础 885.5.2赋值变数 895.5.3变数的高级用法 915.5.4追加变数值 935.5.5override指示符 945.5.6多行变数 945.5.7环境变数 955.5.8目标变数 955.5.9模式变数 965.6使用条件判断 965.6.1示例 975.6.2语法 985.7使用函式 1005.7.1函式的调用语法 1005.7.2字元串处理函式 1005.7.3档案名称操作函式 1045.7.4foreach函式 1055.7.5if函式 1065.7.6call函式 1065.7.7origin函式 1075.7.8shell函式 1085.7.9控制make的函式 1085.8make的运行 1095.8.1make的退出码 1095.8.2指定makefile档案 110
5.8.3指定目标 1105.8.4检查规则 1115.8.5make的参数 1125.9隐含规则 1155.9.1使用隐含规则 1165.9.2隐含规则一览 1175.9.3隐含规则使用的变数 1195.9.4隐含规则链 1215.9.5定义模式规则 1215.9.6隐含规则搜寻算法 1255.10使用make更新函式馆档案 1265.10.1函式馆档案的成员 1265.10.2函式馆成员的隐含规则 1275.10.3函式馆档案的后缀规则 1275.10.4注意事项 128第6章档案的操作 1296.1Linux的档案结构 1296.1.1目录结构 1296.1.2档案和设备 1306.2系统调用和设备驱动程式 1326.3库函式 1326.4硬体设备档案的底层访问 1336.4.1write系统调用 1346.4.2read系统调用 1356.4.3open系统调用 1366.4.4creat系统调用 1376.4.5访问许可权的初始化值 1376.4.6umask变数 1386.4.7close系统调用 1396.4.8ioctl系统调用 1406.4.9lseek系统调用 1426.4.10fstat、stat和lstat系统调用 1446.4.11dup和dup2系统调用 1456.5档案和目录的维护 1466.5.1chmod系统调用 1466.5.2chown系统调用 1476.5.3unlink、link、symlink系统调用 1476.5.4mkdir和rmdir系统调用 1486.5.5chdir系统调用和getcwd函式 148第7章标準I/O库 1497.1流和FILE对象 1497.2标準输入、标準输出和标準出错 1497.3快取 1507.3.1全快取 1507.3.2行快取 1507.3.3不带快取 1507.4打开流 1527.5读和写流 1547.5.1输入函式 1547.5.2输出函式 1567.6每次一行I/O 1567.7标準I/O的效率 1577.8二进制I/O 1587.9定位流 1607.10格式化I/O 1617.10.1格式化输出 1617.10.2格式化输入 1617.11实现细节 1627.12临时档案 162第8章进程控制 1638.1进程概述 1638.1.1进程的状态及其状态转换 1638.1.2Linux进程简介 1658.1.3进程控制 1668.1.4进程调度的概念 1688.2进程的一般操作 1698.2.1获得进程id 169
8.2.2fork创建进程 1708.2.3exec系统调用 1728.2.4exit和_exit 1778.2.5wait系统调用 1798.2.6sleep函式调用 1878.3进程的特殊操作 1878.3.1setuid和setgid系统调用 1888.3.2setpgrp和setpgid系统调用 1898.3.3chdir系统调用 1908.3.4chroot系统调用 1908.3.5nice系统调用 191第9章进程间的通信 1929.1Linux下进程通信概述 1929.2管道及有名管道 1939.2.1管道概述及相关API套用 1949.2.2有名管道概述及相关API套用 2019.3信号及其处理 2079.3.1信号及信号来源 2079.3.2信号的种类 2079.3.3进程对信号的回响 2099.3.4信号的传送 2099.3.5信号的安装(设定信号关联动作) 2129.3.6信号集及信号集操作函式 2159.3.7信号阻塞与信号未决 2169.3.8信号生命周期 2169.3.9信号编程注意事项 2189.3.10信号套用实例 2209.4讯息伫列 2249.4.1讯息伫列基本概念 2259.4.2操作讯息伫列 2259.4.3获得或设定讯息伫列属性 2269.4.4讯息伫列的限制 2299.4.5讯息伫列套用实例 2309.5信号灯概述 2329.5.1操作信号灯 2339.5.2信号灯的限制 2359.5.3竞争问题 2369.5.4信号灯套用实例 2369.6共享记忆体 2399.6.1核心怎样保证各个进程定址到同一个共享记忆体区域的记忆体页面 2409.6.2mmap()及其相关係统调用 2419.6.3mmap()範例 2429.6.4对mmap()返回地址的访问 2469.6.5系统V共享记忆体原理 2499.6.6系统V共享记忆体API 2509.6.7系统V共享记忆体限制 2509.6.8系统V共享记忆体範例 2509.7套接口(Sockets)通信 253第10章执行绪简介 25410.1执行绪概述 25410.2创建执行绪 25510.2.1执行绪创建属性 25510.2.2执行绪创建的Linux实现 25610.3执行绪取消 25610.3.1执行绪取消的语义 25610.3.2取消点 25710.3.3程式设计方面的考虑 25710.3.4与执行绪取消相关的pthread函式 25710.4私有数据 258
10.4.1创建和注销 25810.4.2访问 25910.4.3使用範例 25910.5互斥锁 26110.5.1创建和销毁 26110.5.2互斥锁属性 26110.5.3锁操作 26210.5.4其他 26210.6条件变数 26310.6.1创建和注销 26310.6.2等待和激发 26310.6.3其他 26410.7异步信号 26610.8执行绪终止 26710.8.1执行绪终止方式 26710.8.2执行绪终止时的清理 26710.8.3执行绪终止的同步及其返回值 26810.8.4关于pthread_exit()和return 26910.9杂项 26910.9.1获得本执行绪ID 27010.9.2判断两个执行绪是否为同一执行绪 27010.9.3仅执行一次的操作 27010.9.4pthread_kill_other_threads_np() 271第11章curses编程简介 27311.1curses基本结构 27311.2颜色和属性 27611.3视窗和基垫 27911.4游标和萤幕输出 28511.5键盘输入 28811.5.1cbreak() 28811.5.2延迟模式 28811.5.3回显模式和输出延迟 28911.5.4功能键转换 28911.6选单 29211.7表单 29611.8用curses函式编写一个汉诺塔游戏 30111.8.1汉诺塔游戏 30111.8.2定义数据结构 30211.8.3柱的实现 30211.8.4盘的实现 30211.8.5接收输入的实现 30311.8.6移动盘的实现 303第12章网路编程 31112.1TCP/IP简介 31112.1.1IP及相关协定 31212.1.2传输控制协定TCP 31712.1.3用户数据报协定UDP 31912.2Socket编程简介 31912.2.1Socket编程相关数据类型定义 32012.2.2打开Socket描述符、建立绑定并建立连线 32012.2.3Listen()–监听是否有服务请求 32112.2.4accept()–连线端口的服务请求 32212.2.5send()和recv()–数据传输 32212.2.6sendto()和recvfrom()–利用数据报方式进行数据传输 32312.2.7close()和shutdown()–结束数据传输 32312.2.8DNS–域名服务相关函式 324
12.3面向连线的客户机/伺服器代码实例 32412.4ping命令的简单实现 32812.4.1ping命令简介 32912.4.2ICMP协定简介 32912.4.3IP报头格式 33012.4.4ICMP报头格式 33112.4.5ICMP数据报 33312.4.6数据统计 33312.4.7完整的ping命令代码 334第13章实例一:Linux下CD播放器 33913.1音频CD 33913.2设备控制 34013.3音轨处理 34213.3.1计算音轨数目 34213.3.2定位音轨位置 34413.3.3获取音轨信息 34513.4CD播放 34713.4.1播放(play) 34712.4.2停止(stop) 34913.4.3暂停(pause) 35012.4.4继续(resume) 35113.5音量调节 35213.6子码信息 354第14章实例二:一个简单的伺服器端/客户端程式 357附录 361参考文献 371
本文发布于:2023-03-25 11:53:27,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/to/1679823722228754.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |