LinuxC与C++一线开发实践
内页干净
¥
30
2.3折
¥
129
八五品
仅1件
作者朱文伟、李建英 著
出版社清华大学出版社
出版时间2018-12
版次1
装帧平装
货号D16
上书时间2024-07-16
商品详情
- 品相描述:八五品
图书标准信息
-
作者
朱文伟、李建英 著
-
出版社
清华大学出版社
-
出版时间
2018-12
-
版次
1
-
ISBN
9787302512554
-
定价
129.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
698页
-
字数
1152千字
- 【内容简介】
-
Linux C/C++编程在Linux应用程序开发中占有重要的地位,掌握这项技能将在就业竞争中立于不败之地。本书是一本针对初、中级读者的、贴近软件公司一线开发实践的书。
本书共分为19章,内容包括Linux概述、搭建开发环境、语言基础、文件编程、多进程编程、进程间通信、Web编程、多线程编程、Linux下的库、TCP/IP协议基础、网络编程、网络性能测试工具iPerf简析、版本控制和SVN工具、C++跨平台开发以及安全编程等。
本书适合想全面学习Linux环境下C/C++语言编程的读者,并可作为初中级开发人员的案头查阅与参考手册,也适合作为高等院校和培训学校相关专业师生的教学参考书。
- 【作者简介】
-
朱文伟,计算机应用专业硕士,10多年CC++开发经验。开发过芯片开发系统、网络单向传输系统、安全优盘应用系统、usbkey应用系统、密码机评测系统等产品。精通Linux、Windows系统开发及数据库开发技术。
- 【目录】
-
章linux概述
1.1什么是linux
1.2linux的简史
1.3linux和windows的比较
1.4linux主要应用领域
1.5linux的版本
1.6使用哪个版本的linu行学
1.7linux的特点
1.8如何学linux
1.9命令行还是图形界面
1.10计算机启动的基本过程
1.10.1按下电源
章linux概述
1.1什么是linux
1.2linux的简史
1.3linux和windows的比较
1.4linux主要应用领域
1.5linux的版本
1.6使用哪个版本的linu行学
1.7linux的特点
1.8如何学linux
1.9命令行还是图形界面
1.10计算机启动的基本过程
1.10.1按下电源
1.10.2bios自检
1.10.3系统引导
1.10.4实模式和保护模式
1.11启动内核
1.12认识shell
1.13常见的shell
1.14图形界面和字符界面的切换
1.14.1在不退出x-window的情况下切换到字符界面
1.14.2强行退出x-window进入文本模式
1.14.3设置每次开机进入字符界面
1.14.4从字符界面进入图形界面
1.15shell命令概述
1.16环境变量
第2章搭建linuxc++开发环境
2.1准备linux虚拟机
2.2连接linux虚拟机
2.2.1通过桥接模式连接虚拟机
2.2.2主机模式
2.2.3通过nat模式连接虚拟机
2.3通过终端工具连接linux虚拟机
2.4搭建linux下的c++开发环境
2.4.1非集成开发方式
2.4.2集成开发方式
2.5搭建windows下的linuxc++开发环境
2.5.1搭建非集成式的windows下的linuxc++开发环境
2.5.2搭建集成式的windows下的linuxc++开发环境
2.6需要掌握的开发工具
2.7vi编辑器的使用
2.7.1vi编辑器概述
2.7.2vi编辑器的工作模式
2.7.3vi的基本作
2.7.4命令行模式下的基本作
2.7.5插入模式
2.7.6末行模式作
2.8gcc编译器的使用
2.8.1gcc对c语言的编译过程
2.8.2gcc所支持的后缀名文件
2.8.3gcc的语法格式
2.8.4gcc常见选项
2.9g++的基本使用
2.10gdb调试器的使用
2.10.1为何要学gdb调试器
2.10.2gdb简介
2.10.3重要准备
2.10.4启动gdb
2.10.5退出gdb
2.10.6gdb的常用命令概述
2.10.7file命令加载程序
2.10.8list命令显示源代码
2.10.9run命令运行程序
2.10.10break命令设置断点
第3章c++语言基础
3.1c++基础知识
3.1.1c++程序结构
3.1.2注释
3.1.3变量和数据类型
3.1.4标识
3.1.5基本数据类型
3.1.6变量的定义和c++11中的auto
3.1.7变量的范围
3.1.8变量初始化
3.1.9常量
3.1.10作符/运算符
3.1.11控制台交互
3.2控制结构
3.2.1条件结构
3.2.2循环结构
3.2.3分支控制和跳转
3.2.4选择结构语句switch
3.3函数
3.4函数话题
3.4.1参数按数值传递和按地址传递
3.4.2函数重载
3.4.3内联函数
3.4.4递归
3.4.5函数的声明
3.5数据类型
3.5.1数组
3.5.2指针
3.5.3动态分配内存
3.5.4结构体
3.5.5自定义数据类型
3.6面向对象编程
3.6.1类
3.6.2构造函数和析构函数
3.6.3构造函数重载
3.6.4类的指针
3.6.5由关键字struct和union定义的类
3.6.6作符重载
3.6.7关键字this
3.6.8静态成员
3.6.9类之间的关系
3.6.10多态
3.7c++面向对象小结
3.8c++知识
3.8.1模板
3.8.2命名空间
3.8.3异常处理
3.8.4预处理指令
3.8.5预定义宏
3.8.6c++11中的预定义宏
3.9字符串
3.9.1字符串基础
3.9.2搜索与查找
3.10再论异常处理
3.10.1基本概念
3.10.2抛出异常
3.10.3捕获异常
3.10.4c++标准异常
3.10.5定义新的异常
3.11再论函数模板
3.12字符集
3.12.1计算机上的3种字符集
3.12.2查看linux系统的字符集
3.12.3修改linux系统的字符集
3.12.4unicode编码的实现
3.12.5c运行时库对unicode的支持
3.12.6c++标准库对unicode的支持
3.12.7字符集相关实例
第4章linux文件编程
4.1文件系统
4.1.1基本概念
4.1.2文件系统层次结构标准
4.2文件的属信息
4.3i节点
4.3.1基本概念
4.3.2i节点的内容
4.3.3i节点的使用状况
4.4文件类型
4.4.1普通文件
4.4.2
4.4.3块设备文件
4.4.4字符设备文件
4.4.5文件
4.5文件权限
4.6linux文件i/o编程的基本方式
4.7什么是i/o
4.8linux系统调用下的文件i/o编程
4.8.1文件描述符
4.8.2打开或创建文件
4.8.3创建文件
4.8.4关闭文件
4.8.5读取文件中的数据
4.8.6向文件写入数据
4.8.7设定文件偏移量
4.8.8获取文件
4.8.9文件锁定
4.8.10建立文件和内存映
4.8.11mmap和共享内存对比
4.9c++方式下的文件i/o编程
4.9.1流的概念
4.9.2流的类库
4.9.3打开文件
4.9.4关闭文件
4.9.5写入文件
4.9.6读取文件
4.9.7文件位置指针
4.9.8标志符的验证
4.9.9读写文件数据块
4.10文件编程中的其他作
4.10.1获取文件有关信息
4.10.2创建和删除文件项
第5章多进程编程
5.1进程的基本概念
5.2进程的描述
5.2.1进程的标识符
5.2.2pid文件
5.3进程的创建
5.3.1使用fork创建进程
5.3.2使用exec创建进程
5.3.3使用system创建进程
5.4进程调度
5.5进程的分类
5.5.1前台进程
5.5.2后台进程
5.6守护进程
5.6.1守护进程的概念
5.6.2守护进程的特点
5.6.3查看守护进程
5.6.4守护进程的分类
5.6.5守护进程的启动方式
5.6.6编写守护进程的步骤
第6章linu程间的通信
6.1信号
6.1.1信号的基本概念
6.1.2与信号相关的系统调用
6.2管道
6.2.1管道的基本概念
6.2.2管道读写的特点
6.2.3管道的局限
6.2.4创建管道函数pipe
6.2.5读写管道函数read/write
6.2.6等待子进程中断或结束的函数wait
6.2.7使用管道的特殊情况
6.3消息队列
6.3.1创建和打开消息队列函数msgget
6.3.2获取和设置消息队列的属函数msgctl
6.3.3将消息送入消息队列的函数msgsnd
6.3.4从消息队列中读取一条新消息的函数msgrcv
6.3.5生成键值函数ftok
第7章c++web编程
7.1cgi程序的工作方式
7.2架设web服务器apache
第8章多线程基本编程
8.1使用多线程的好处
8.2多线程编程的基本概念
8.2.1作系统和多线程
8.2.2线程的基本概念
8.2.3线程的
8.2.4线程函数
8.2.5线程标识
8.2.6c++多线程开发的两种方式
8.3利用ix多线程api函数进行多线程开发
8.3.1线程的创建
8.3.2线程的属
8.3.3线程的结束
8.3.4线程退出时的清理机会
8.4c++11中的线程类
8.4.1线程的创建
8.4.2线程的标识符
8.4.3当前线程this_thread
第9章多线程编程
9.1多线程的同步和异步
9.2线程同步
9.3利用ix多线程api函数进行线程同步
9.3.1互斥锁
9.3.2读写锁
9.3.3条件变量
9.4c++11/14中的线程同步
9.5线程池
9.5.1线程池的定义
9.5.2使用线程池的原因
9.5.3用c++实现一个简单的线程池
0章linux下的库
10.1库的基本概念
10.2库的分类
10.3静态库
10.3.1静态库的基本概念
10.3.2静态库的创建和使用
10.4动态库
10.4.1动态库的基本概念
10.4.2动态库的创建和使用
1章tcp/ip协议基础
11.1什么是tcp/ip
11.2tcp/ip协议的分层结构
11.3应用层
11.3.1dns
11.3.2端的概念
11.4传输层
11.4.1tcp协议
11.4.2udp协议
11.5网络层
11.5.1ip协议
11.5.2arp协议
11.5.3rarp协议
11.5.4icmp协议
11.6数据链路层
11.6.1数据链路层的基本概念
11.6.2数据链路层的主要功能
2章套接字基础
12.1网络程序的架构
12.2套接字的类型
12.3套接字的地址结构
12.4主机字节序和网络字节序
12.5出错信息的获取
3章tcp套接字编程
13.1tcp套接字编程的基本步骤
13.2协议簇和地址簇
13.3socket地址
13.3.1通用socket地址
13.3.2专用socket地址
13.3.3ip地址的转换
13.4tcp套接字编程的相关函数
13.4.1socket函数
13.4.2bind函数
13.4.3listen函数
13.4.4accept函数
13.4.5connect函数
13.4.6write函数
13.4.7read函数
13.4.8send函数
13.4.9recv函数
13.4.10close函数
13.4.11获得套接字地址
13.4.12阻塞套接字的使用
13.4.13非阻塞套接字的使用
4章udp套接字编程
14.1udp套接字编程的基本步骤
14.2tcp套接字编程的相关函数
14.2.1消息发送函数sendto和sendmsg
14.2.2消息接收函数recvfrom和recvmsg
14.3实战udp套接字
14.4udp丢包及无序问题
5章原始套接字编程
15.1原始套接字概述
15.2与标准套接字的区别
15.3原始套接字的编程方法
15.4面向链路层的原始套接字编程函数
15.4.1创建原始套接字函数
15.4.2接收函数recvfrom
15.4.3发送函数sendto
15.5以太网帧格式
15.6获取网络接的信息
15.7实战链路层的原始套接字
15.7.1常见的应用场景
15.7.2混杂模式
15.7.3链路层原始套接字开发注意事项
15.8面向ip层的原始套接字编程
6章c++网络能测试工具iperf的简析
16.1iperf概述
16.2iperf的特点
16.3iperf的工作
16.4iperf的主要功能
16.5在linux下安装iperf
16.6iperf的简单使用
16.7iperf源代码概述
16.8thread类
16.8.1数据成员说明
16.8.2主要函数成员
16.9socketaddr类
16.10socket类
16.10.1listen函数
16.10.2accept函数
16.10.3connect函数
7章版本控制和svn工具
17.1svn简介
17.1.1什么是svn
17.1.2使用svn的好处
17.1.3使用svn的基本流程
17.2svn服务器的安装和配置
17.2.1visualsvn服务器的安装和配置
17.2.2svn客户端在windows上的使用
8章c++跨台开发
18.1什么是跨台
18.2c++的可移植
18.2.1可移植的概念
18.2.2影响c++语言可移植的因素
18.3设计跨台软件的原则
18.3.1避语言的扩展特
18.3.2实现动态的处理
18.3.3使用脚本文件进行管理
18.3.4使用安全的数据串行化
18.3.5跨台开发中的编译及测试
18.3.6实现抽象
18.4建立跨台的开发环境
18.4.1跨台开发编译器的选择
18.4.2建立跨台的make系统
18.5c++语言跨台软件开发的实现
18.6c++语言跨台的开发策略
18.7建立统一的工程包
18.8建立跨台的代码库
18.9工厂模式与单例模式的实现
18.10利用台依赖库封装台相关代码
18.11处理器的差异控制
18.11.1内存对齐
18.11.2字节顺序
18.11.3类型的大小
18.11.4使用预编译处理类型差异
18.12编译器的差异控制
18.12.1实现台无关的代码
18.12.2内存管理
18.12.3容错的影响
18.12.4利用志管理异常
18.13作系统和接库
18.13.1文件描述符的
18.13.2进程和线程的
18.13.3作系统抽象层
18.14用户界面
18.14.1跨台软件图形界面的设计
18.14.2wxwidgets简介
18.14.3使用wxwidgets开发跨台软件的界面
9章linux下的安全编程
19.1本章概述
19.2密码学基础知识
19.2.1密码学概述
19.2.2对称密钥加密技术
19.2.3公开密钥加密技术
19.2.4单向散列函数算法
19.2.5数字基础知识
19.3身份认证基础知识
19.3.1身份认证概述
19.3.2身份认证的方式
19.4密码编程的两个重要库
19.5openssl的简介
19.6openssl模块分析
19.6.1openssl源代码模块结构
19.6.2openssl加密库调用方式
19.6.3openssl支持的对称加密算法
19.6.4openssl支持的非对称加密算法
19.6.5openssl支持的信息摘要算法
19.6.6openssl密钥和管理
19.7面向对象与openssl
19.7.1bio接
19.7.2evp接
19.8openssl的下载、编译和升级安装
19.9对称加解密算法的分类
19.9.1流对称算法
19.9.2分组对称算法
19.9.3了解库和头文件
19.10利用openssl进行对称加解密
19.10.1一些基本概念
19.10.2对称加解密相关函数
19.11crypto++的简介
19.12crypto++的编译
19.13crypto++进行aes加解密
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价