登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』Linux C与C++ 一线开发实践

書城自編碼: 3287351
分類: 簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: 朱文伟 李建英
國際書號(ISBN): 9787302512554
出版社: 清华大学出版社
出版日期: 2018-12-01


書度/開本: 16开 釘裝: 平装

售價:NT$ 839

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
火枪与账簿:早期经济全球化时代的中国与东亚世界
《 火枪与账簿:早期经济全球化时代的中国与东亚世界 》

售價:NT$ 352.0
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
《 《全面与进步跨太平洋伙伴关系协定》国有企业条款研究 》

售價:NT$ 449.0
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
《 银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书) 》

售價:NT$ 449.0
金托邦:江湖中的沉重正义
《 金托邦:江湖中的沉重正义 》

售價:NT$ 275.0
易经今解:释疑·解惑·见微
《 易经今解:释疑·解惑·见微 》

售價:NT$ 403.0
东欧史(全二册)-“中间地带”的困境
《 东欧史(全二册)-“中间地带”的困境 》

售價:NT$ 1010.0
虚拟资本:金融怎样挪用我们的未来
《 虚拟资本:金融怎样挪用我们的未来 》

售價:NT$ 352.0
刻意练习不生气
《 刻意练习不生气 》

售價:NT$ 179.0

建議一齊購買:

+

NT$ 384
《 μC/OS-Ⅲ内核分析与应用开发 》
+

NT$ 449
《 C++模板元编程实战 一个深度学习框架的初步实现 》
+

NT$ 774
《 Python深度学习 》
+

NT$ 969
《 学习OpenCV 3(中文版) 》
編輯推薦:
本书集基础知识、核心技能、高级应用、项目案例于一体,好学、好用、好查。
本书从初学者的角度出发,以通俗易懂的语言,配合丰富多彩的实例,详细介绍了使用Linu C与C 一线企业级进行程序开发应该掌握的各方面知识。
本书针对初学者学习的特点,提供强大的答疑解惑服务。
內容簡介:
Linux CC编程在Linux应用程序开发中占有重要的地位,掌握这项技能将在就业竞争中立于不败之地。本书是一本针对初、中级读者的、贴近软件公司一线开发实践的书。
本书共分为19章,内容包括Linux概述、搭建开发环境、语言基础、文件编程、多进程编程、进程间通信、Web编程、多线程编程、Linux下的库、TCPIP协议基础、网络编程、网络性能测试工具iPerf简析、版本控制和SVN工具、C跨平台开发以及安全编程等。
本书适合想全面学习Linux环境下CC语言编程的读者,并可作为初中级开发人员的案头查阅与参考手册,也适合作为高等院校和培训学校相关专业师生的教学参考书。
關於作者:
朱文伟,计算机应用专业硕士,10多年C\C开发经验。开发过芯片开发系统、网络单向传输系统、安全优盘应用系统、usbkey应用系统、密码机评测系统等产品。精通Linux、Windows系统开发及数据库开发技术。
目錄
目 录
第1章 Linux概述 1
1.1 什么是Linux 1
1.2 Linux的简史 2
1.3 Linux和Windows的比较 4
1.4 Linux主要应用领域 4
1.5 Linux的版本 5
1.6 使用哪个版本的Linux进行学习 5
1.7 Linux的特点 5
1.8 如何学习Linux 6
1.9 命令行还是图形界面 6
1.10 计算机启动的基本过程 6
1.10.1 按下电源 7
第1章 Linux概述 1
1.1 什么是Linux 1
1.2 Linux的简史 2
1.3 Linux和Windows的比较 4
1.4 Linux主要应用领域 4
1.5 Linux的版本 5
1.6 使用哪个版本的Linux进行学习 5
1.7 Linux的特点 5
1.8 如何学习Linux 6
1.9 命令行还是图形界面 6
1.10 计算机启动的基本过程 6
1.10.1 按下电源 7
1.10.2 BIOS自检 7
1.10.3 系统引导 8
1.10.4 实模式和保护模式 10
1.11 启动内核 11
1.12 认识Shell 11
1.13 常见的Shell 11
1.14 图形界面和字符界面的切换 12
1.14.1 在不退出X-Window的情况下切换到字符界面 12
1.14.2 强行退出X-Window进入文本模式 12
1.14.3 设置每次开机进入字符界面 13
1.14.4 从字符界面进入图形界面 14
1.15 Shell命令概述 14
1.16 环境变量 14
第2章 搭建Linux C开发环境 16
2.1 准备Linux虚拟机 16
2.2 连接Linux虚拟机 20
2.2.1 通过桥接模式连接虚拟机 21
2.2.2 主机模式 24
2.2.3 通过NAT模式连接虚拟机 25
2.3 通过终端工具连接Linux虚拟机 27
2.4 搭建Linux下的C开发环境 30
2.4.1 非集成开发方式 30
2.4.2 集成开发方式 31
2.5 搭建Windows下的Linux C开发环境 37
2.5.1 搭建非集成式的Windows下的Linux C开发环境 37
2.5.2 搭建集成式的Windows下的Linux C开发环境 39
2.6 需要掌握的开发工具 49
2.7 vi编辑器的使用 50
2.7.1 vi编辑器概述 50
2.7.2 vi编辑器的工作模式 50
2.7.3 vi的基本操作 51
2.7.4 命令行模式下的基本操作 51
2.7.5 插入模式 55
2.7.6 末行模式操作 55
2.8 gcc编译器的使用 57
2.8.1 gcc对C语言的编译过程 57
2.8.2 gcc所支持的后缀名文件 62
2.8.3 gcc的语法格式 62
2.8.4 gcc常见选项 64
2.9 g的基本使用 75
2.10 gdb调试器的使用 77
2.10.1 为何要学习gdb调试器 77
2.10.2 gdb简介 77
2.10.3 重要准备 77
2.10.4 启动gdb 77
2.10.5 退出gdb 78
2.10.6 gdb的常用命令概述 79
2.10.7 file命令加载程序 80
2.10.8 list命令显示源代码 80
2.10.9 run命令运行程序 83
2.10.10 break命令设置断点 85
第3章 C语言基础 89
3.1 C基础知识 89
3.1.1 C程序结构 89
3.1.2 注释 91
3.1.3 变量和数据类型 92
3.1.4 标识 92
3.1.5 基本数据类型 93
3.1.6 变量的定义和C11中的auto 94
3.1.7 变量的范围 98
3.1.8 变量初始化 98
3.1.9 常量 99
3.1.10 操作符运算符 103
3.1.11 控制台交互 110
3.2 控制结构 115
3.2.1 条件结构 115
3.2.2 循环结构 116
3.2.3 分支控制和跳转 120
3.2.4 选择结构语句switch 122
3.3 函数 123
3.4 函数高级话题 127
3.4.1 参数按数值传递和按地址传递 127
3.4.2 函数重载 130
3.4.3 内联函数 131
3.4.4 递归 132
3.4.5 函数的声明 133
3.5 高级数据类型 134
3.5.1 数组 134
3.5.2 指针 145
3.5.3 动态分配内存 155
3.5.4 结构体 159
3.5.5 自定义数据类型 165
3.6 面向对象编程 168
3.6.1 类 168
3.6.2 构造函数和析构函数 171
3.6.3 构造函数重载 173
3.6.4 类的指针 175
3.6.5 由关键字struct和union定义的类 176
3.6.6 操作符重载 176
3.6.7 关键字 this 179
3.6.8 静态成员 180
3.6.9 类之间的关系 182
3.6.10 多态 189
3.7 C面向对象小结 195
3.8 C高级知识 199
3.8.1 模板 199
3.8.2 命名空间 205
3.8.3 异常处理 209
3.8.4 预处理指令 213
3.8.5 预定义宏 215
3.8.6 C11中的预定义宏 216
3.9 字符串 218
3.9.1 字符串基础 218
3.9.2 搜索与查找 227
3.10 再论异常处理 233
3.10.1 基本概念 233
3.10.2 抛出异常 234
3.10.3 捕获异常 234
3.10.4 C 标准异常 235
3.10.5 定义新的异常 236
3.11 再论函数模板 237
3.12 字符集 239
3.12.1 计算机上的3种字符集 239
3.12.2 查看Linux系统的字符集 241
3.12.3 修改Linux系统的字符集 242
3.12.4 Unicode编码的实现 242
3.12.5 C运行时库对Unicode的支持 246
3.12.6 C标准库对Unicode的支持 247
3.12.7 字符集相关实例 248
第4章 Linux文件编程 249
4.1 文件系统 249
4.1.1 基本概念 249
4.1.2 文件系统层次结构标准 249
4.2 文件的属性信息 250
4.3 i节点 251
4.3.1 基本概念 251
4.3.2 i节点的内容 251
4.3.3 i节点的使用状况 253
4.4 文件类型 254
4.4.1 普通文件 255
4.4.2 目录 255
4.4.3 块设备文件 256
4.4.4 字符设备文件 257
4.4.5 链接文件 257
4.5 文件权限 259
4.6 Linux文件IO编程的基本方式 260
4.7 什么是IO 260
4.8 Linux系统调用下的文件IO编程 261
4.8.1 文件描述符 261
4.8.2 打开或创建文件 262
4.8.3 创建文件 263
4.8.4 关闭文件 264
4.8.5 读取文件中的数据 266
4.8.6 向文件写入数据 268
4.8.7 设定文件偏移量 269
4.8.8 获取文件状态 271
4.8.9 文件锁定 272
4.8.10 建立文件和内存映射 276
4.8.11 mmap和共享内存对比 279
4.9 C方式下的文件IO编程 280
4.9.1 流的概念 280
4.9.2 流的类库 280
4.9.3 打开文件 281
4.9.4 关闭文件 283
4.9.5 写入文件 283
4.9.6 读取文件 283
4.9.7 文件位置指针 285
4.9.8 状态标志符的验证 287
4.9.9 读写文件数据块 288
4.10 文件编程中的其他操作 290
4.10.1 获取文件有关信息 290
4.10.2 创建和删除文件目录项 293
第5章 多进程编程 296
5.1 进程的基本概念 296
5.2 进程的描述 296
5.2.1 进程的标识符 299
5.2.2 PID文件 301
5.3 进程的创建 303
5.3.1 使用fork创建进程 303
5.3.2 使用exec创建进程 305
5.3.3 使用system创建进程 311
5.4 进程调度 312
5.5 进程的分类 315
5.5.1 前台进程 315
5.5.2 后台进程 315
5.6 守护进程 316
5.6.1 守护进程的概念 316
5.6.2 守护进程的特点 317
5.6.3 查看守护进程 317
5.6.4 守护进程的分类 318
5.6.5 守护进程的启动方式 319
5.6.6 编写守护进程的步骤 319
第6章 Linux进程间的通信 323
6.1 信号 323
6.1.1 信号的基本概念 323
6.1.2 与信号相关的系统调用 328
6.2 管道 336
6.2.1 管道的基本概念 336
6.2.2 管道读写的特点 337
6.2.3 管道的局限性 337
6.2.4 创建管道函数pipe 338
6.2.5 读写管道函数readwrite 338
6.2.6 等待子进程中断或结束的函数wait 338
6.2.7 使用管道的特殊情况 342
6.3 消息队列 342
6.3.1 创建和打开消息队列函数msgget 343
6.3.2 获取和设置消息队列的属性函数msgctl 343
6.3.3 将消息送入消息队列的函数msgsnd 344
6.3.4 从消息队列中读取一条新消息的函数msgrcv 345
6.3.5 生成键值函数ftok 346
第7章 C Web编程 354
7.1 CGI程序的工作方式 354
7.2 架设Web服务器Apache 354
第8章 多线程基本编程 358
8.1 使用多线程的好处 358
8.2 多线程编程的基本概念 359
8.2.1 操作系统和多线程 359
8.2.2 线程的基本概念 359
8.2.3 线程的状态 360
8.2.4 线程函数 361
8.2.5 线程标识 361
8.2.6 C多线程开发的两种方式 361
8.3 利用POSIX多线程API函数进行多线程开发 362
8.3.1 线程的创建 362
8.3.2 线程的属性 367
8.3.3 线程的结束 379
8.3.4 线程退出时的清理机会 387
8.4 C11中的线程类 392
8.4.1 线程的创建 393
8.4.2 线程的标识符 401
8.4.3 当前线程this_thread 402
第9章 多线程高级编程 406
9.1 多线程的同步和异步 406
9.2 线程同步 406
9.3 利用POSIX多线程API函数进行线程同步 411
9.3.1 互斥锁 411
9.3.2 读写锁 417
9.3.3 条件变量 424
9.4 C1114中的线程同步 431
9.5 线程池 434
9.5.1 线程池的定义 434
9.5.2 使用线程池的原因 435
9.5.3 用C实现一个简单的线程池 435
第10章 Linux下的库 441
10.1 库的基本概念 441
10.2 库的分类 441
10.3 静态库 442
10.3.1 静态库的基本概念 442
10.3.2 静态库的创建和使用 442
10.4 动态库 445
10.4.1 动态库的基本概念 445
10.4.2 动态库的创建和使用 445
第11章 TCPIP协议基础 450
11.1 什么是TCPIP 450
11.2 TCPIP协议的分层结构 450
11.3 应用层 453
11.3.1 DNS 454
11.3.2 端口的概念 454
11.4 传输层 455
11.4.1 TCP协议 455
11.4.2 UDP协议 456
11.5 网络层 456
11.5.1 IP协议 456
11.5.2 ARP协议 462
11.5.3 RARP协议 464
11.5.4 ICMP协议 465
11.6 数据链路层 474
11.6.1 数据链路层的基本概念 474
11.6.2 数据链路层的主要功能 474
第12章 套接字基础 476
12.1 网络程序的架构 477
12.2 套接字的类型 478
12.3 套接字的地址结构 478
12.4 主机字节序和网络字节序 479
12.5 出错信息的获取 481
第13章 TCP套接字编程 483
13.1 TCP套接字编程的基本步骤 483
13.2 协议簇和地址簇 484
13.3 socket地址 487
13.3.1 通用socket地址 487
13.3.2 专用socket地址 488
13.3.3 IP地址的转换 489
13.4 TCP套接字编程的相关函数 491
13.4.1 socket函数 491
13.4.2 bind函数 492
13.4.3 listen函数 494
13.4.4 accept函数 494
13.4.5 connect函数 495
13.4.6 write函数 497
13.4.7 read函数 498
13.4.8 send函数 498
13.4.9 recv函数 499
13.4.10 close函数 499
13.4.11 获得套接字地址 499
13.4.12 阻塞套接字的使用 504
13.4.13 非阻塞套接字的使用 511
第14章 UDP套接字编程 525
14.1 UDP套接字编程的基本步骤 525
14.2 TCP套接字编程的相关函数 526
14.2.1 消息发送函数sendto和sendmsg 526
14.2.2 消息接收函数recvfrom和recvmsg 527
14.3 实战UDP套接字 529
14.4 UDP丢包及无序问题 538
第15章 原始套接字编程 539
15.1 原始套接字概述 539
15.2 与标准套接字的区别 539
15.3 原始套接字的编程方法 540
15.4 面向链路层的原始套接字编程函数 540
15.4.1 创建原始套接字函数 540
15.4.2 接收函数recvfrom 541
15.4.3 发送函数sendto 542
15.5 以太网帧格式 545
15.6 获取网络接口的信息 547
15.7 实战链路层的原始套接字 550
15.7.1 常见的应用场景 550
15.7.2 混杂模式 577
15.7.3 链路层原始套接字开发注意事项 596
15.8 面向IP层的原始套接字编程 597
第16章 C网络性能测试工具iPerf的简析 605
16.1 iPerf概述 605
16.2 iPerf的特点 605
16.3 iPerf的工作原理 605
16.4 iPerf的主要功能 606
16.5 在Linux下安装iPerf 607
16.6 iPerf的简单使用 608
16.7 iPerf源代码概述 609
16.8 Thread类 610
16.8.1 数据成员说明 611
16.8.2 主要函数成员 611
16.9 SocketAddr类 615
16.10 Socket 类 617
16.10.1 Listen 函数 618
16.10.2 Accept函数 620
16.10.3 Connect函数 620
第17章 版本控制和SVN工具 623
17.1 SVN简介 623
17.1.1 什么是SVN 623
17.1.2 使用SVN的好处 624
17.1.3 使用SVN的基本流程 624
17.2 SVN服务器的安装和配置 624
17.2.1 VisualSVN 服务器的安装和配置 624
17.2.2 SVN客户端在Windows上的使用 629
第18章 C跨平台开发 634
18.1 什么是跨平台 634
18.2 C的可移植性 634
18.2.1 可移植性的概念 634
18.2.2 影响C语言可移植性的因素 635
18.3 设计跨平台软件的原则 638
18.3.1 避免语言的扩展特性 638
18.3.2 实现动态的处理 638
18.3.3 使用脚本文件进行管理 639
18.3.4 使用安全的数据串行化 640
18.3.5 跨平台开发中的编译及测试 641
18.3.6 实现抽象 641
18.4 建立跨平台的开发环境 642
18.4.1 跨平台开发编译器的选择 642
18.4.2 建立跨平台的Make系统 643
18.5 C语言跨平台软件开发的实现 648
18.6 C语言跨平台的开发策略 649
18.7 建立统一的工程包 650
18.8 建立跨平台的代码库 650
18.9 工厂模式与单例模式的实现 651
18.10 利用平台依赖库封装平台相关代码 651
18.11 处理器的差异控制 652
18.11.1 内存对齐 652
18.11.2 字节顺序 653
18.11.3 类型的大小 654
18.11.4 使用预编译处理类型差异 654
18.12 编译器的差异控制 655
18.12.1 实现平台无关的代码 655
18.12.2 内存管理 657
18.12.3 容错性的影响 657
18.12.4 利用日志管理异常 657
18.13 操作系统和接口库 658
18.13.1 文件描述符的限制 659
18.13.2 进程和线程的限制 659
18.13.3 操作系统抽象层 659
18.14 用户界面 660
18.14.1 跨平台软件图形界面的设计 660
18.14.2 wxWidgets 简介 661
18.14.3 使用wxWidgets开发跨平台软件的界面 661
第19章 Linux下的安全编程 663
19.1 本章概述 663
19.2 密码学基础知识 665
19.2.1 密码学概述 665
19.2.2 对称密钥加密技术 665
19.2.3 公开密钥加密技术 666
19.2.4 单向散列函数算法 667
19.2.5 数字签名基础知识 667
19.3 身份认证基础知识 668
19.3.1 身份认证概述 668
19.3.2 身份认证的方式 669
19.4 密码编程的两个重要库 670
19.5 OpenSSL的简介 671
19.6 OpenSSL模块分析 671
19.6.1 OpenSSL源代码模块结构 671
19.6.2 OpenSSL加密库调用方式 672
19.6.3 OpenSSL支持的对称加密算法 673
19.6.4 OpenSSL支持的非对称加密算法 673
19.6.5 OpenSSL支持的信息摘要算法 673
19.6.6 OpenSSL密钥和证书管理 673
19.7 面向对象与OpenSSL 674
19.7.1 BIO接口 675
19.7.2 EVP接口 676
19.8 OpenSSL的下载、编译和升级安装 677
19.9 对称加解密算法的分类 680
19.9.1 流对称算法 680
19.9.2 分组对称算法 680
19.9.3 了解库和头文件 684
19.10 利用OpenSSL进行对称加解密 686
19.10.1 一些基本概念 686
19.10.2 对称加解密相关函数 687
19.11 Crypto的简介 695
19.12 Crypto的编译 696
19.13 Crypto进行AES加解密 696
內容試閱
前 言
这是一本Linux CC入门的经典图书。任何学过CC语言并立志成为一名Linux开发工程师的朋友,都可以从本书起步。本书虽然有点厚,但内容通俗易懂,由浅入深,并且实例丰富、步骤详细、注释充分,相信大家都能看得懂。对于中高级开发人员,也可以通过本书快速上手Linux CC的实际开发。本书并没有详细讲述C语言部分(但也进行了一定程度的叙述),而是把更多的笔墨放在Linux编程方面,因此书中都是实实在在的Linux编程干货。此外,实例丰富是本书的一大特点,大家应该知道,编程开发只是了解理论是不够的,只有自己上机调试运行实例,才能深刻理解编程,尤其是CC。另外,为了照顾初学者,每个实例步骤都非常详细,并且从建立工程到运行工程都有着丰富的注释。最后,本书所有例子都在CentOS 7上用gccg编译通过。
本书在讲述基本编程的同时,也讲述了很多一线实践开发中经常会碰到的问题和解决方案,可以说本书是紧贴工业界的图书。希望大家能够通过本书的学习打好Linux开发的基础,早日成为Linux CC开发高手。
本书示例源代码下载
本书示例源代码下载链接请扫描下面的右边二维码获得:
如果下载有问题,请联系booksaga@163.com,邮件主题为Linux C与C一线开发实践。
技术支持与鸣谢
虽然编者尽了最大努力,但是书中难免会出现一些疏漏,希望大家不吝指正。,。编者的QQ技术支持邮箱是itpxw@qq.com,欢迎大家来信。,关于本书的最新动态和错误列表,可以关注作者的QQ空间,读者反映的建议或书中的疏漏会更新到空间中。
这里要最后感谢夫人李建英,没有她认真测试验证实示例程序就不能顺利完成本书的写作。同时也感谢清华大学出版社的老师们,他们辛勤的工作使得会有本书得以的顺利出版。
编 者
2018年811月

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.