
曙海教學優(yōu)勢
本課程,秉承二十一年積累的教學品質,以項目實現(xiàn)為導向,面向企事業(yè)項目實際需要,老師將會與您分享設計的全流程以及工具的綜合使用經驗、技巧。課程可定制,線上/線下/上門皆可,熱線:4008699035。
曙海培訓的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。大批企業(yè)和曙海
建立了良好的合作關系,20多年來,合作企事業(yè)單位以達30多萬。曙海培訓的課程在業(yè)內有著響亮的知名度。
課程提綱:
GCC — GNU 編譯器系列
* GNU 編譯器系列 (GCC)
GCC 的歷史
GCC 的四個階段
中斷編譯器
編譯 C 程序
預處理器功能
預定義的處理器符號
警告和擴展
優(yōu)化
鏈接
使用 Make 構建軟件
make(1) 簡介
make 如何工作
Makefile 規(guī)則語法
示例:Makefile 首要步驟
改進的 Makefile
隱含規(guī)則
示例:Makefile 越簡單越好
變量
定義變量
示例:使用變量的 Makefile
自動變量
特殊目標
定義有用的 Phony 目標
GNU C 庫和系統(tǒng)調用
庫目標
庫標準
GNU C 庫 - glibc
庫函數與系統(tǒng)調用
使用系統(tǒng)調用
使用 errno 處理錯誤
errno 的意義
使用 strace
程序參數和環(huán)境
程序啟動
使用 argc/argv
使用 getopt() 處理選項
使用 getopt_long() 處理選項
環(huán)境
操作環(huán)境
程序退出
注冊退出處理程序
構建庫
為何使用庫?
靜態(tài)與共享
靜態(tài)庫優(yōu)點
共享庫優(yōu)點
創(chuàng)建靜態(tài)庫
使用靜態(tài)庫
創(chuàng)建共享庫
使用共享庫
共享庫管理
庫位置
ld 配置
時間函數
時間何時開始?
時間數據類型
確定實際時間
轉換 time_t
轉換 tm 結構
進程時間
時間算法
輔助分辨率計時器
精細粒度計時器
實時時鐘 (RTC)
進程管理
什么是進程
進程關系
創(chuàng)建子進程
執(zhí)行其它任務
相關 execve() 函數
等待子進程
更準確的等待
更改優(yōu)先級/Nice
實時優(yōu)先
內存操作
分配/釋放內存
內存對齊
鎖定內存
內存復制和初始化
內存比較和搜索
調試
我的程序執(zhí)行什么任務?
源水平調試
調用 gdb
gdb 入門
檢查和更改內存
調試信息庫
與正在運行的進程一起使用 gdb
使用 gdb 檢驗操作系統(tǒng)崩潰
調試庫 - ElectricFence
通過 valgrind 進行調試
性能配置處理
基本文件操作
流與系統(tǒng)調用
打開/關閉流
流輸入/輸出函數
流狀態(tài)/錯誤
流文件定位
流緩沖
臨時和廢棄文件
打開和關閉文件描述符
文件描述符 I/O
重新定位文件描述符
流/文件描述符轉換
使用 ANSI I/O 的 cat
使用 POSIX I/O 的 cat
通過管道溝通
管道簡介
標準 I/O:popen()/pclose()
使用 popen()/pclose()
系統(tǒng)調用:pipe()
使用pipe()
命名的管道
使用命名的管道
進一步閱讀
管理信號
什么是信號
阻止和檢查信號
處理信號集
阻止信號示例
使用 sigaction() 處理信號
sigaction() 示例
使用 signal() 處理信號
發(fā)送信號
實時信號
使用線程進行編程
線程編程簡介
適合線程的應用程序
構建線程程序
創(chuàng)建線程
線程標識
通過加入實現(xiàn)同步化
拆分線程
停止線程
與 sutexes 同步
使用互斥器
讀/和寫鎖
條件變量
使用條件變量
條件變量 Gotcha
進一步閱讀
高級文件操作
目錄操作
文件系統(tǒng)操作
包含 select() 的多路復用 I/O
其它 I/O 函數
內存映射的 I/O
使用內存映射的 I/O
文件鎖定
進程間通信 (IPC)
進程間通信 (IPC)
POSIX IPC 概述
POSIX 共享內存
POSIX 旗語
POSIX 消息隊列
System V IPC 概述
系統(tǒng) V IPC 共享內存
系統(tǒng) V IPC 旗語陣列
系統(tǒng) V IPC 消息隊列
基本網絡編程
Linux 網絡連接概述
socket() 入門
客戶端函數
指定 IPv4 地址
主機與網絡字節(jié)順序
TCP/IP 客戶端示例
地址轉換函數
使用 getaddrinfo()
服務器函數
TCP/IP 服務器示例
通過 UDP 進行數據電報通信
與 Linux 社區(qū)協(xié)作
接觸社區(qū)
一般注意事項
構建社區(qū)
許可證
GPL
LGPL
BSD
知識共享