![]()
内容推荐 Linux C/C++编程在Linux应用程序开发中占有重要的地位,掌握这项技术将在就业竞争中立于不败之地。本书内容针对初中级读者,贴近软件公司一线开发实践。全书厚达620多页,知识点丰富,内容翔实,并配套示例源码、作者QQ群答疑服务。 本书共分为16章,内容包括Linux概述、搭建开发环境、C++语言基础、Linux文件编程、多进程编程、进程间通信、C++ Web编程、多线程基本编程、多线程高级编程、Linux下的库、TCP/IP基础、套接字基础、TCP套接字网络编程、UDP套接字网络编程、原始套接字网络编程,以及并发聊天服务器项目实战等。 本书适合想全面学习Linux环境下C/C++语言编程的读者,既可作为初中级开发人员的案头查阅与参考手册,也适合作为高等院校或高职高专相关课程的教学参考书。 作者简介 朱文伟,名校计算机专业统招硕士。拥有20年C/C++、Java开发经验,主导开发过密码、图形、人工智能等方面的产品。精通Linux、Windows系统开发及数据库开发技术。著有图书《LinuxC/C++服务器开发实践》《OpenCV4.5计算机视觉开发实战:基于Python》《OpenCV 4.5计算机视觉开发实战(基于VC++)》《Qt6.X从入门到精通》《Windows C/C++加密解密实战》《密码学原理与Java实现》《Linux C与C++ 一线开发实践》《VisualC++2017从入门到精通》。 目录 第1章 Linux概述 1.1 什么是Linux 1.2 Linux的简史 1.3 Linux和Windows的比较 1.4 Linux主要应用领域 1.5 Linux的版本 1.6 使用哪个版本的Linux进行学习 1.7 Linux的特点 1.8 如何学习Linux 1.9 命令行还是图形界面 1.10 计算机启动的基本过程 1.10.1 按下电源 1.10.2 BIOS自检 1.10.3 系统引导 1.10.4 启动内核 1.11 认识Shell 1.12 图形界面和字符界面的切换 1.12.1 在不退出X-Window的情况下切换到字符界面 1.12.2 强行退出X-Window进入文本模式 1.12.3 设置每次开机进入字符界面 1.12.4 从字符界面进入图形界面 1.13 环境变量 第2章 搭建Linux C/C++开发环境 2.1 安装和配置虚拟机Linux 2.1.1 在VMware下安装Linux 2.1.2 开启登录时的root账号 2.1.3 配置Linux虚拟机环境 2.1.4 配置Linux虚拟机网络 2.1.5 通过终端工具连接Linux虚拟机 2.1.6 和虚拟机互传文件 2.2 gcc/g++编译器的使用 2.2.1 安装C/C++编译工具 2.2.2 gcc对C语言的编译过程 2.2.3 gcc所支持的后缀名文件 2.2.4 gcc的语法格式 2.2.5 gcc常见选项 2.2.6 g++的基本使用 2.3 搭建集成式开发环境 2.3.1 基于Visual C++ 2017搭建IDE 2.3.2 基于Visual Studio Code搭建IDE 2.4 搭建非集成式开发环境 2.4.1 基于Visual Studio Code编辑和上传源码 2.4.2 为何要学gdb调试器 2.4.3 gdb简介 2.4.4 重要准备 2.4.5 启动gdb 2.4.6 退出gdb 2.4.7 gdb的常用命令概述 2.4.8 file命令加载程序 2.4.9 list命令显示源码 2.4.10 run命令运行程序 2.4.11 break命令设置断点 第3章 C++语言基础 3.1 C++基础知识 3.1.1 C++程序结构 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.4.6 函数的声明 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.7 C++面向对象小结 3.8 C++高级知识 3.8.1 模板 3.8.2 命名空间 3.8.3 异常处理 3.8.4 预处理指令 3.8.5 预定义宏 3.8.6 C++11中的预定义宏 3.9 字符串 3.9.1 字符串基础 3.9.2 搜索与查找 3.10 再论异常处理 3.10.1 基本概念 3.10.2 抛出异常 3.10.3 捕获异常 3.10.4 C++标准异常 3.10.5 定义新的异常 3.11 再论函数模板 3.12 字符集 3.12.1 计算机上的3种字符集 3.12.2 查看Linux系统的字符集 3.12.3 修改Linux系统的字符集 3.12.4 Unicode编码的实现 3.12.5 C运行时库对Unicode的支持 3.12.6 C++标准库对Unicode的支持 3.12.7 字符集相关实例 第4章 Linux文件编程 4.1 文件系统及层次结构标准 4.2 文件的属性信息 4.3 i节点 4.3.1 基本概念 4.3.2 i节点的内容 4.3.3 i节点的使用状况 4.4 文件类型 4.4.1 普通文件 4.4.2 目录 4.4.3 块设备文件 4.4.4 字符设备文件 4.4.5 链接文件 4.5 文件权限 4.6 Linux文件I/O编程的基本方式 4.7 什么是I/O 4.8 Linux系统调用下的文件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.11 mmap和shm对比 4.9 C++方式下的文件I/O编程 4.9.1 流的概念 4.9.2 流的类库 4.9.3 打开文件 4.9.4 关闭文件 4.9.5 写入文件 4.9.6 读取文件 4.9.7 文件位置指 |