出版時間:2009-7 出版社:清華大學出版社 作者:劉學勇,陳建偉 編著 頁數(shù):465
Tag標簽:無
前言
Linux是當前最流行的操作系統(tǒng)之一。它是由芬蘭大學生Linus開發(fā)的類Linix操作系統(tǒng),它具有系統(tǒng)內(nèi)核小、穩(wěn)定性高、可擴展性好、對硬件要求低、網(wǎng)絡功能強等特點,現(xiàn)在已經(jīng)成為成熟的操作系統(tǒng),并以其良好的穩(wěn)定性和優(yōu)異的性能給用戶帶來了全新的感受,贏得了人們的普遍青睞。 c語言原是AT&T屬下的BellLabs的DennisRitchie為開發(fā)UNIX操作系統(tǒng)而獨立設(shè)計并實現(xiàn)的。隨著uNIX操作系統(tǒng)的廣泛流行及微型計算機的普及推廣,C語言作為Unix操作系統(tǒng)的孿生兄弟,也廣泛地應用于軟件開發(fā)領(lǐng)域。它的簡潔、高效、可移植性等眾多優(yōu)點受到軟件開發(fā)人員的喜愛,成為最受歡迎的編程語言。 Linux操作系統(tǒng)同C這種具有多平臺、移植性好的編程語言的完美結(jié)合,為用戶提供了一個功能強大的編程環(huán)境。掌握Linux下的c語言編程是學習Linux下編程必不可少的一環(huán),本書正是以此為出發(fā)點,介紹Linux系統(tǒng)下進行C語言編程的有關(guān)知識?! ”緯饕槍δ切inux和C語言有一定了解,想學習如何在Linux系統(tǒng)中使用C語言編程的讀者。
內(nèi)容概要
本書系統(tǒng)地介紹了在Linux操作系統(tǒng)下用C語言進行程序設(shè)計的方法,并通過列舉大量的程序?qū)嵗棺x者很快地掌握在Linux操作系統(tǒng)下進行C程序開發(fā)的方法和技巧,培養(yǎng)開發(fā)大型應用程序的能力。 本書內(nèi)容主要包括Linux基礎(chǔ)知識介紹,Linux下的C語言編譯器、調(diào)試器和程序維護工具的使用方法,Linux下通過c語言進行文件操作和目錄操作的方法,標準I/O庫函數(shù),進程概念、進程操作以及進程間通信的方法,線程操作,用c語言進行網(wǎng)絡編程、數(shù)據(jù)庫編程以及GUI編程的方法等。最后通過一個飛機票網(wǎng)絡售票系統(tǒng)的模擬程序演示了Linux C項目開發(fā)的方法和流程。 本書結(jié)構(gòu)合理、概念清晰、深入淺出、易于理解,具有很強的實用性,適用于想要系統(tǒng)地學習在Linux系統(tǒng)下進行C語言編程的初級和中級讀者閱讀,也可作為高等院校計算機相關(guān)專業(yè)的教材。
書籍目錄
第1章 Linux基礎(chǔ)知識 1.1 Linux簡介 1.1.1 Linux的起源 1.1.2 Linux的特點 1.1.3 Linux的版本 1.1.4 Linux的發(fā)展前景 1.2 Linux的安裝 1.2.1 發(fā)行版本的選擇 1.2.2 基本的硬件要求 1.2.3 安裝步驟 1.3 Linux系統(tǒng)的常用命令 1.3.1 了解Shell 1.3.2 進入Shell命令行界面” 1.3.3 文件操作命令 1.3.4 目錄及其操作命令 1.3.5 文件壓縮命令 1.3.6 聯(lián)機幫助命令 1.3.7 用戶操作命令 1.3.8 關(guān)機和重啟計算機命令 1.4 小結(jié) 習題第2章 Linux下的C語言編程環(huán)境 2.1 Linux編程簡介 2.2 Linux下的C語言開發(fā)環(huán)境 2.3 編輯器的使用 2.3.1 vi的使用 2.3.2 Emacs的使用 2.4 編譯器gcc的使用 2.4.1 Ubuntu下gcc的安裝與設(shè)置 2.4.2 9cc的使用 2.5 Linux C程序的開發(fā)過程 2.5.1 編輯程序 2.5.2 編譯程序 2.6 make工具及其使用 2.6.1 make命令和Makefile 2.6.2 Makefile的規(guī)則 2.6.3 Makefile中的變量 2.6.4 偽目標 2.6.5 條件語句 2.6.6 調(diào)試make 2.7 使用autoconf 2.7.1 創(chuàng)建configure腳本 2.7.2 編寫configure.in文件 2.7.3 使用autoscan創(chuàng)建configure.in文件 2.7.4 用autoconf倉J建configure 2.7.5 更新configure腳本 2.8 使用automake 2.8.1 automake的工作流程 2.8.2 使用automake生成Makefile.in 2.9 使用gdb調(diào)試程序 2.9.1 初次使用gdb 2.9.2 gdb的基本命令 2.9.3 gdb的調(diào)用 2.9.4 gdb運行模式的選擇 2.10 小結(jié) 習題第3章 Linux下的文件編程 3.1 概述 3.1.1 超級塊 3.1.2 索引節(jié)點(inode) 3.1.3 文件類型 3.2 文件描述符 3.3 基本文件I/O操作 3.3.1 Open函數(shù) 3.3.2 close函數(shù) 3.3.3 read函數(shù) 3.3.4 write函數(shù) 3.3.5 creat函數(shù) 3.3.6 lseek函數(shù) 3.4 文件高級操作 3.4.1 文件模式 3.4.2 確定和改變文件模式 3.4.3 查詢文件信息 3.4.4 文件其他操作 3.4.5 目錄文件操作 3.4.6 特殊文件操作 3.5 小結(jié) 習題第4章 標準I/O庫 4.1 概述 4.2 流和FILE對象 4.3 打開和關(guān)閉流 4.4 讀和寫流 4.4.1 字符I/O 4.4.2 行I/O 4.4.3 塊I/O 4.5 流文件定位 4.6 文件結(jié)束和錯誤 4.7 流緩沖 4.8 格式化I/O 4.8.1 格式輸出 4.8.2 格式輸入 4.9 臨時文件 4.10 小結(jié) 習題第5章 進程操作 5.1 進程概述 5.1.1 進程的基本概念 5.1.2 Linux進程 5.1.3 進程的識別號(ID) 5.1.4 進程調(diào)度 5.2 進程控制 5.2.1 進程的創(chuàng)建 5.2.2 exec函數(shù) 5.2.3 結(jié)束進程 5.2.4 進程等待 5.2.5 system函數(shù) 5.2.6 進程的用戶標識號管理 5.2.7 進程標識號管理 5.3 綜合應用實例 5.4 小結(jié) 習題第6章 進程間通信(IPC) 6.1 進程間通信機制概述 6.1.1 信號 6.1.2 管道 6.1.3 System V IPC機制簡介 6.2 信號處理 6.2.1 信號類型 6.2.2 處理信號的系統(tǒng)函數(shù) 6.2.3 信號集 6.2.4 發(fā)送信號 6.3 管道 6.3.1 基本概念 6.3.2 管道的創(chuàng)建 6.3.3 創(chuàng)建管道的簡單方法 6.3.4 命名管道 6.4 System V IPC機制 6.4.1 基本概念 6.4.2 消息隊列 6.4.3 信號量 6.4.4 共享內(nèi)存 6.4.5 綜合應用實例 6.5 小結(jié) 習題第7章 線程操作 7.1 線程概述 7.1.1 線程的基本概念 7.1.2 用戶態(tài)線程與內(nèi)核態(tài)線程 7.2 線程管理 7.2.1 創(chuàng)建線程和結(jié)束線程 7.2.2 掛起線程 7.2.3 線程同步 7.2.4 取消線程和取消處理程序 7.2.5 線程特定數(shù)據(jù)的處理函數(shù) 7.2.6 線程屬性 7.3 小結(jié) 習題第8章 網(wǎng)絡編程 8.1 概述 8.2 TCP/IP基礎(chǔ) 8.2.1 參考模型 8.2.2 Linux中TCP/IP網(wǎng)絡的層結(jié)構(gòu) 8.3 BSD套接字接口 8.4 客戶機/服務器(c/s)模式 8.5 套接字網(wǎng)絡編程 8.5.1 套接字編程的基本流程 8.5.2 套接字地址 8.5.3 字節(jié)順序 8.5.4 字節(jié)處理函數(shù) 8.5.5 面向連接的基本套接字函數(shù) 8.5.6 其他套接字操作函數(shù) 8.5.7 數(shù)據(jù)報套接字操作 8.6 小結(jié) 習題第9章 數(shù)據(jù)庫編程 9.1 數(shù)據(jù)庫基本概念 9.1.1 數(shù)據(jù)與數(shù)據(jù)庫 9.1.2 數(shù)據(jù)庫管理系統(tǒng) 9.1.3 數(shù)據(jù)庫語言 9.1.4 數(shù)據(jù)庫系統(tǒng) 9.1.5 主要數(shù)據(jù)模型 9.2 SQL語言簡介 9.2.1 數(shù)據(jù)庫表格 9.2.2 數(shù)據(jù)查詢 9.2.3 創(chuàng)建表格 9.2.4 向表格中插入數(shù)據(jù) 9.2.5 更新記錄 9.2.6 刪除記錄 9.2.7 刪除數(shù)據(jù)庫表格 9.3 MySQL數(shù)據(jù)庫 9.3.1 MySQL的安裝 9.3.2 MySQL管理 9.4 用C語言訪問MySQL數(shù)據(jù)庫 9.4.1 連接數(shù)據(jù)庫 9.4.2 錯誤處理 9.4.3 執(zhí)行SQL語句 9.5 小結(jié) 習題第10章 Linux下的GUl編程 10.1 概述 10.1.1 X服務器 10.1.2 X協(xié)議 10.1.3 Xlib庫 10.1.4 X客戶 10.2 Xlib編程 10.3 GTK+/GNOME編程 10.3.1 GTK+/GNOME簡介 10.3.2 GTK+編程 11.3.3 使用GTK+編寫GNOME程序 10.4 小結(jié) 習題第11章 飛機票網(wǎng)絡售票系統(tǒng) 11.1 系統(tǒng)框架 11.1.1 數(shù)據(jù)格式 11.1.2 服務器端程序框架 11.1.3 客戶端程序框架 11.2 程序源代碼和說明 1 1.2.1 服務器端源代碼 1 1.2.2 客戶端源代碼 11.3 小結(jié)
章節(jié)摘錄
1.1.2Linux的特點 為什么Linux如此備受青睞?就讓我們來看一下Linux的特點吧?! ∽杂绍浖 inux可以說是作為開放源碼的自由軟件的代表,正是由于這一點,來自全世界的無數(shù)程序員參與了Linux的修改、編寫工作,程序員可以根據(jù)自己的興趣和靈感對其進行修改。這讓Linux吸收了無數(shù)程序員的精華,不斷壯大?! ⊥耆嫒軵OSIX1.0標準POSIX是基于Unix的第一個操作系統(tǒng)國際標準,這使得可以在Linux下通過相應的模擬器運行常見的:DOS、Windows的程序?! 《嘤脩?、多任務 Linux支持多用戶,各個用戶對于自己的文件設(shè)備有自己特殊的權(quán)利,保證了各用戶之間互不影響。多任務則是現(xiàn)在計算機最主要的一個特點,Linux可以使多個程序同時獨立地運行。
編輯推薦
《精通Linux C編程》特色: 全面性:《精通Linux C編程》系統(tǒng)地介紹了Linux環(huán)境下進行C程序開發(fā)的方法和技巧,內(nèi)容全面,結(jié)構(gòu)清晰,易于閱讀?! 嵱眯裕骸毒↙inux C編程》理論與實踐相結(jié)合,給出了大量實用性較強的案例,使讀者擺脫枯燥的理論知識講解,將所學知識應用于實際?! I(yè)性:《精通Linux C編程》所列舉的應用案例,代碼注釋詳盡,功能分析明確,并對關(guān)鍵代碼進行透徹講解,具有較高的專業(yè)水準?! ”憬菪裕骸毒↙inux C編程》附贈一張光盤,內(nèi)容包括案例源代碼、多媒體講解視頻及C語言編程技術(shù)文檔,書盤結(jié)合,學習更便捷,更輕松。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載