Linux 系統編程 Linux System Programming Techniques: Become a proficient Linux system programmer using expert recipes and techniques
Jack-Benny Persson 譯 楊偉//張健//范繼雲//謝寶友
- 出版商: 機械工業
- 出版日期: 2023-01-01
- 定價: $654
- 售價: 8.5 折 $556
- 語言: 簡體中文
- 頁數: 293
- 裝訂: 平裝
- ISBN: 7111716612
- ISBN-13: 9787111716617
-
相關分類:
Linux
- 此書翻譯自: Linux System Programming Techniques: Become a proficient Linux system programmer using expert recipes and techniques
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
Linux Device Driver Programming 驅動程式設計$690$538 -
機器學習$648$616 -
為你自己學 Git$500$390 -
$403shell 腳本實戰, 2/e (Wicked Cool Shell Scripts: 101 Scripts for Linux, OS X, and Unix Systems, 2/e) -
$768C語言非常道 -
$659CTF 競賽權威指南 (Pwn篇) -
$539C/C++ 代碼調試的藝術 -
$447Linux 設備驅動開發 -
徵服 C指針, 2/e$594$564 -
$709C++ 反彙編與逆向分析技術揭秘, 2/e -
Raspberry Pi 樹莓派:12道開胃菜打造 Linux 核心肌群(iT邦幫忙鐵人賽系列書)$680$530 -
$662二進制分析實戰 -
$594AI 嵌入式系統:算法優化與實現 -
C++20 實踐入門, 6/e (Beginning C++20: From Novice to Professional, 6/e)$948$901 -
Linux 錦囊妙計|基礎操作x系統與網路管理, 2/e (Linux Cookbook: Essential Skills for Linux Users and System & Network Administrators, 2/e)$780$616 -
性能之巔:系統、企業與雲可觀測性, 2/e$1,428$1,357 -
Linux Shell 程式設計與管理實務 [第三版]【暢銷回饋版】$680$530 -
$352嵌入式 Linux 操作系統 — 基於 ARM 處理器的移植、驅動、GUI 及應用設計 (微課視頻版) -
$505圈圈教你玩 USB, 3/e -
C++ 高性能編程$834$792 -
Linux 設備驅動開發$894$849 -
$500x86 彙編語言:從實模式到保護模式, 2/e -
$428嵌入式 Linux 操作系統原理與應用 -
精通嵌入式 Linux 程式設計, 3/e (下)$450$351 -
AI PC 基礎 CPU 架構 - Arm Cortex-M4 STM32F407 HAL 開發實戰$1,080$853
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
Linux是世界上最流行的開源操作系統。
Linux系統編程技術將使你能夠使用自己的系統程序擴展Linux操作系統,並與系統上的其他程序進行通信。
本書探討了Linux文件系統及其基本命令、內置手冊頁、GNU編譯器集合(GCC)和Linux系統調用;
講述瞭如何處理程序中的錯誤,以及如何捕獲錯誤並打印錯誤相關信息;
介紹了在系統上讀寫文件的多種方法,包括使用流和文件描述符。
隨著學習的不斷深入,你將深入研究創建進程、創建殭屍進程和守護進程,並學習使用systemd處理守護進程的方法;
瞭解如何創建共享庫,並探索不同類型的進程間通信(IPC);
還將學習如何使用POSIX線程編寫程序,以及如何使用GNU調試器(GDB)和Valgrind調試程序。
學完本書,你將能夠在Linux系統中開發自己的系統程序,包括守護進程、工具、客戶端和過濾器。
通過閱讀本書,你將:
◎ 瞭解如何使用各種系統調用為Linux系統編寫程序。
◎ 深入研究POSIX函數的工作原理。
◎ 理解並學會使用信號、管道、IPC和流程管理等關鍵概念。
◎ 瞭解如何集成程序與Linux系統。
◎ 探索高級主題,例如,文件系統操作、創建共享庫和調試程序。
◎ 全面瞭解如何使用Valgrind調試程序。
作者簡介
Jack-Benny Persson
是一位來自瑞典的技術顧問和作家。
他撰寫了多本Linux和編程方面的書籍。
他對Linux和其他類UNIX系統的熱情始於20年前的一個愛好。
從那時起,他就把大部分業餘時間都花在了閱讀Linux技術資料、完善Linux服務器以及撰寫Linux管理相關的書籍上。
如今,他在瑞典擁有自己的IT和媒體公司,該公司主要聚焦於Linux技術。
目錄大綱
第1章獲取必要的工具並編寫
第一個Linux程序1
1.1 技術要求1
1.2 安裝GCC和GNU Make 2
1.2.1 準備工作3
1.2.2 實踐步驟3
1.2.3 它是如何工作的4
1.3 安裝GDB和Valgrind 5
1.3.1 準備工作5
1.3.2 實踐步驟5
1.3.3 它是如何工作的6
1.4 在Linux中編寫一個簡單的
C程序7
1.4.1 準備工作7
1.4.2 實踐步驟7
1.4.3 它是如何工作的8
1.4.4 更多9
1.5 編寫一個解析命令行選項
的程序10
1.5.1 準備工作10
1.5.2 實踐步驟10
1.5.3 它是如何工作的12
1.6 在內置手冊頁中查找信息13
1.6.1 準備工作13
1.6.2 實踐步驟14
1.6.3 它是如何工作的14
1.6.4 更多15
1.7 搜索手冊以獲取信息15
1.7.1 準備工作15
1.7.2 實踐步驟15
1.7.3 它是如何工作的15
1.7.4 更多16
第2章使你的程序易於腳本化17
2.1 技術要求18
2.2 返回值以及如何讀取它們18
2.2.1 準備工作18
2.2.2 實踐步驟18
2.2.3 它是如何工作的20
2.2.4 更多21
2.2.5 參考21
2.3 使用有意義的返回值退出程序21
2.3.1 準備工作21
2.3.2 實踐步驟21
2.3.3 它是如何工作的24
2.3.4 更多25
2.4 重定向標準輸入、標準輸出
和標準錯誤25
2.4.1 準備工作25
2.4.2 實踐步驟25
2.4.3 它是如何工作的27
2.4.4 更多28
2.5 使用管道連接程序28
2.5.1 準備工作28
2.5.2 實踐步驟28
2.5.3 它是如何工作的29
2.5.4 更多30
2.5.5 參考30
2.6 寫入標準輸出和標準錯誤30
2.6.1 實踐步驟30
2.6.2 它是如何工作的32
2.6.3 更多32
2.7 從標準輸入讀取33
2.7.1 準備工作33
2.7.2 實踐步驟33
2.7.3 它是如何工作的34
2.7.4 更多35
2.8 編寫一個管道友好的程序36
2.8.1 準備工作36
2.8.2 實踐步驟36
2.8.3 它是如何工作的38
2.8.4 更多39
2.9 將結果重定向到文件39
2.9.1 準備工作40
2.9.2 實踐步驟40
2.9.3 它是如何工作的43
2.9.4 更多44
2.10 讀取環境變量44
2.10.1 準備工作44
2.10.2 實踐步驟45
2.10.3 它是如何工作的46
2.10.4 更多47
第3章深入探索Linux中的C語言48
3.1 技術要求49
3.2 使用GNU編譯器套件
鏈接庫49
3.2.1 準備工作49
3.2.2 實踐步驟49
3.2.3 它是如何工作的52
3.2.4 更多53
3.3 切換C標準54
3.3.1 準備工作54
3.3.2 實踐步驟54
3.3.3 它是如何工作的56
3.3.4 更多57
3.4 使用系統調用57
3.4.1 準備工作58
3.4.2 實踐步驟58
3.4.3 它是如何工作的60
3.4.4 更多61
3.5 獲取Linux和類UNIX頭
文件信息61
3.5.1 準備工作61
3.5.2 實踐步驟62
3.5.3 它是如何工作的63
3.5.4 更多63
3.6 定義功能測試宏63
3.6.1 準備工作64
3.6.2 實踐步驟64
3.6.3 它是如何工作的67
3.6.4 更多68
3.7 編譯過程的4個步驟68
3.7.1 準備工作68
3.7.2 實踐步驟68
3.7.3 它是如何工作的71
3.8 使用Make編譯72
3.8.1 準備工作72
3.8.2 實踐步驟73
3.8.3 它是如何工作的74
3.9 使用GCC選項編寫一個
通用的Makefile 74
3.9.1 準備工作74
3.9.2 實踐步驟75
3.9.3 它是如何工作的75
3.9.4 更多75
3.10 編寫一個簡單的Make file 76
3.10.1 準備工作76
3.10.2 實踐步驟76
3.10.3 它是如何工作的77
3.11 編寫一個更高級的Makefile 77
3.11.1 準備工作78
3.11.2 實踐步驟78
3.11.3 它是如何工作的82
第4章處理程序中的錯誤84
4.1 技術要求85
4.2 為什麼錯誤處理在系統編程
中很重要85
4.2.1 準備工作85
4.2.2 實踐步驟85
4.2.3 它是如何工作的87
4.3 處理常見的錯誤87
4.3.1 準備工作87
4.3.2 實踐步驟88
4.3.3 它是如何工作的90
4.4 錯誤處理和errno 90
4.4.1 準備工作91
4.4.2 實踐步驟91
4.4.3 它是如何工作的92
4.5 處理更多errno宏93
4.5.1 準備工作93
4.5.2 實踐步驟93
4.5.3 它是如何工作的94
4......
第5章使用文件I/O和文件系統操作
第6章創建進程和使用作業控制
第7章使用systemd處理守護進程
第8章創建共享庫
第9章終端I/O及改變終端行為
第10章使用不同類型的IPC
第11章在程序中使用線程
第12章調試程序
