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