幫助中心 | 我的帳號 | 關於我們

Linux C與C++一線開發實踐

  • 作者:朱文偉//李建英
  • 出版社:清華大學
  • ISBN:9787302512554
  • 出版日期:2018/12/01
  • 裝幀:平裝
  • 頁數:698
人民幣:RMB 129 元      售價:
放入購物車
加入收藏夾

內容大鋼
    Linux C/C++編程在Linux應用程序開發中佔有重要的地位,掌握這項技能將在就業競爭中立於不敗之地。本書是一本針對初、中級讀者的、貼近軟體公司一線開發實踐的書。
    朱文偉、李建英著的《Linux C與C++一線開發實踐》共分為19章,內容包括Linux概述、搭建開發環境、語言基礎、文件編程、多進程編程、進程間通信、Web編程、多線程編程、Linux下的庫、TCP/IP協議基礎、網路編程、網路性能測試工具iPerf簡析、版本控制和SVN工具、C++跨平台開發以及安全編程等。
    本書適合想全面學習Linux環境下C/C++語言編程的讀者,並可作為初中級開發人員的案頭查閱與參考手冊,也適合作為高等院校和培訓學校相關專業師生的教學參考書。

作者介紹
朱文偉//李建英

目錄
第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章  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  啟動內核
  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.15  Shell命令概述
  1.16  環境變數
第2章  搭建Linux C++開發環境
  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下的Linux C++開發環境
    2.5.1  搭建非集成式的Windows下的Linux C++開發環境
    2.5.2  搭建集成式的Windows下的Linux C++開發環境

  2.6  需要掌握的開發工具
  2.7  vi編輯器的使用
    2.7.1  vi編輯器概述
    2.7.2  vi編輯器的工作模式
    2.7.3  vi的基本操作
    2.7.4  命令行模式下的基本操作
    2.7.5  插入模式
    2.7.6  末行模式操作
  2.8  gcc編譯器的使用
    2.8.1  gcc對C語言的編譯過程
    2.8.2  gcc所支持的后綴名文件
    2.8.3  gcc的語法格式
    2.8.4  gcc常見選項
  2.9  g++的基本使用
  2.10  gdb調試器的使用
    2.10.1  為何要學習gdb調試器
    2.10.2  gdb簡介
    2.10.3  重要準備
    2.10.4  啟動gdb
    2.10.5  退出gdb
    2.10.6  gdb的常用命令概述
    2.10.7  file命令載入程序
    2.10.8  list命令顯示源代碼
    2.10.9  run命令運行程序
    2.10.10  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.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.1.1  基本概念
    4.1.2  文件系統層次結構標準
  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和共享內存對比
  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  文件位置指針
    4.9.8  狀態標誌符的驗證
    4.9.9  讀寫文件數據塊
  4.10  文件編程中的其他操作
    4.10.1  獲取文件有關信息
    4.10.2  創建和刪除文件目錄項
第5章  多進程編程
  5.1  進程的基本概念
  5.2  進程的描述
    5.2.1  進程的標識符
    5.2.2  PID文件
  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章  Linux進程間的通信
  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.1  CGI程序的工作方式
  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.6  C++多線程開發的兩種方式
  8.3  利用POSIX多線程API函數進行多線程開發
    8.3.1  線程的創建
    8.3.2  線程的屬性
    8.3.3  線程的結束
    8.3.4  線程退出時的清理機會
  8.4  C++11中的線程類
    8.4.1  線程的創建
    8.4.2  線程的標識符
    8.4.3  當前線程this_thread
第9章  多線程高級編程
  9.1  多線程的同步和非同步
  9.2  線程同步
  9.3  利用POSIX多線程API函數進行線程同步
    9.3.1  互斥鎖

    9.3.2  讀寫鎖
    9.3.3  條件變數
  9.4  C++11/14中的線程同步
  9.5  線程池
    9.5.1  線程池的定義
    9.5.2  使用線程池的原因
    9.5.3  用C++實現一個簡單的線程池
第10章  Linux下的庫
  10.1  庫的基本概念
  10.2  庫的分類
  10.3  靜態庫
    10.3.1  靜態庫的基本概念
    10.3.2  靜態庫的創建和使用
  10.4  動態庫
    10.4.1  動態庫的基本概念
    10.4.2  動態庫的創建和使用
第11章  TCP/IP協議基礎
  11.1  什麼是TCP/IP
  11.2  TCP/IP協議的分層結構
  11.3  應用層
    11.3.1  DNS
    11.3.2  埠的概念
  11.4  傳輸層
    11.4.1  TCP協議
    11.4.2  UDP協議
  11.5  網路層
    11.5.1  IP協議
    11.5.2  ARP協議
    11.5.3  RARP協議
    11.5.4  ICMP協議
  11.6  數據鏈路層
    11.6.1  數據鏈路層的基本概念
    11.6.2  數據鏈路層的主要功能
第12章  套接字基礎
  12.1  網路程序的架構
  12.2  套接字的類型
  12.3  套接字的地址結構
  12.4  主機位元組序和網路位元組序
  12.5  出錯信息的獲取
第13章  TCP套接字編程
  13.1  TCP套接字編程的基本步驟
  13.2  協議簇和地址簇
  13.3  socket地址
    13.3.1  通用socket地址
    13.3.2  專用socket地址
    13.3.3  IP地址的轉換
  13.4  TCP套接字編程的相關函數
    13.4.1  socket函數
    13.4.2  bind函數
    13.4.3  listen函數

    13.4.4  accept函數
    13.4.5  connect函數
    13.4.6  write函數
    13.4.7  read函數
    13.4.8  send函數
    13.4.9  recv函數
    13.4.10  close函數
    13.4.11  獲得套接字地址
    13.4.12  阻塞套接字的使用
    13.4.13  非阻塞套接字的使用
第14章  UDP套接字編程
  14.1  UDP套接字編程的基本步驟
  14.2  TCP套接字編程的相關函數
    14.2.1  消息發送函數sendto和sendmsg
    14.2.2  消息接收函數recvfrom和recvmsg
  14.3  實戰UDP套接字
  14.4  UDP丟包及無序問題
第15章  原始套接字編程
  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層的原始套接字編程
第16章  C++網路性能測試工具iPerf的簡析
  16.1  iPerf概述
  16.2  iPerf的特點
  16.3  iPerf的工作原理
  16.4  iPerf的主要功能
  16.5  在Linux下安裝iPerf
  16.6  iPerf的簡單使用
  16.7  iPerf源代碼概述
  16.8  Thread類
    16.8.1  數據成員說明
    16.8.2  主要函數成員
  16.9  SocketAddr類
  16.10  Socket 類
    16.10.1  Listen 函數
    16.10.2  Accept函數
    16.10.3  Connect函數
第17章  版本控制和SVN工具
  17.1  SVN簡介

    17.1.1  什麼是SVN
    17.1.2  使用SVN的好處
    17.1.3  使用SVN的基本流程
  17.2  SVN伺服器的安裝和配置
    17.2.1  VisualSVN 伺服器的安裝和配置
    17.2.2  SVN客戶端在Windows上的使用
第18章  C++跨平台開發
  18.1  什麼是跨平台
  18.2  C++的可移植性
    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.5  C++語言跨平台軟體開發的實現
  18.6  C++語言跨平台的開發策略
  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.2  wxWidgets 簡介
    18.14.3  使用wxWidgets開發跨平台軟體的界面
第19章  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.5  OpenSSL的簡介
  19.6  OpenSSL模塊分析
    19.6.1  OpenSSL源代碼模塊結構
    19.6.2  OpenSSL加密庫調用方式
    19.6.3  OpenSSL支持的對稱加密演算法
    19.6.4  OpenSSL支持的非對稱加密演算法
    19.6.5  OpenSSL支持的信息摘要演算法
    19.6.6  OpenSSL密鑰和證書管理
  19.7  面向對象與OpenSSL
    19.7.1  BIO介面
    19.7.2  EVP介面
  19.8  OpenSSL的下載、編譯和升級安裝
  19.9  對稱加解密演算法的分類
    19.9.1  流對稱演算法
    19.9.2  分組對稱演算法
    19.9.3  了解庫和頭文件
  19.10  利用OpenSSL進行對稱加解密
    19.10.1  一些基本概念
    19.10.2  對稱加解密相關函數
  19.11  Crypto++的簡介
  19.12  Crypto++的編譯
  19.13  Crypto++進行AES加解密

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032