本課程適用於有經驗的開發人員。學生應精通 C 程式設計,並熟悉基本的 Linux 實用程式和文本編輯器。
觀眾
本課程適用於有經驗的開發人員。學生應精通 C 程式設計,並熟悉基本的 Linux 實用程式和文本編輯器。
經驗水準: 中級
- 線上直播(虛擬)或直播(課堂)
- 4天講師指導的上課時間
- 動手實驗和作業
- 資源和課程手冊
- 結業證書
- 數位徽章
瞭解如何為 Linux 環境開發應用程式。在這個講師指導的課程中,你將獲得 Linux 應用程式開發所需工具和方法的實踐經驗,並瞭解 Linux 獨有的功能和技術。
你會學到什麼?
在本課程中,您將瞭解在 Linux 下開發 C 程式和進行系統程式設計的工具和方法、調試技術、流程管理、Linux 特定的付費和系統調用等。
你會得到什麼?
本課程將為您為 Linux 環境開發應用程式做好準備。
介紹
- 目標
- 你是誰
- Linux 基金會
- Linux 基礎培訓
- 認證計劃和數位徽章
- Linux 發行版
- 平臺
- 準備您的系統
- 使用和下載虛擬機
- Linux 中的情況發生了變化
預賽
- 程式
- 標準和 LSB
如何在 OSS 專案中工作 **
- 關於如何正確貢獻的概述
- 貼近主線,確保安全性和品質
- 研究並了解專案DNA
- 弄清楚你想要什麼癢 Scratch
- 確定維護人員及其工作流程和方法
- 儘早獲得意見並公開工作
- 貢獻增量位,而不是大型代碼轉儲
- 把你的自我留在門口:皮薄
- 要有耐心,發展長期關係,樂於助人
編譯器
- 海灣合作委員會
- 其他編譯器
- 主要 gcc 選項
- 預處理
- 整合開發環境 (IDE)
- 實驗室
圖書館
- 靜態庫
- 共用庫
- 連結到庫
- 動態連結載入程式
- 實驗室
做
- 使用make和Makefile
- 構建大型專案
- 更複雜的規則
- 內置規則
- 實驗室
原始程式碼管理
- 原始程式碼管理
- RCS 和 CVS
- 顛覆
- git
- 實驗室
調試和核心轉儲
- GDB公司
- 什麼是核心轉儲檔?
- 生成核心轉儲
- 檢查核心轉儲
- 實驗室
調試工具
- 把握時間
- 剖析和性能
- 瓦爾格林德
- 實驗室
系統調用
- 系統調用與庫函數
- 如何進行系統調用
- 返回值和錯誤號
- 實驗室
記憶體 Management 和分配
- 記憶體 Management
- 動態分配
- 調優 malloc()
- 鎖定頁面
- 實驗室
Linux 中的檔案和檔案系統 **
- 檔、目錄和設備
- 虛擬檔案系統
- ext2/ext3 文件系統
- 日誌檔案系統
- ext4/ 檔案系統
- 實驗室
檔 I/O
- UNIX 檔 I/O
- 開盤和閉盤
- 閱讀、寫作和尋找
- 位置和向量 I/O
- 標準 I/O 庫
- 大檔案支援 (LFS)
- 實驗室
高級檔操作
- 統計函數
- 目錄函數
- iNotify公司
- 記憶體映射
- flock() 和 fcntl()
- 製作臨時檔
- 其他系統調用
- 實驗室
流程 I
- 什麼是流程?
- 工藝限制
- 進程組
- proc 檔案系統
- InterProcess Communication 方法
- 實驗室
流程 II
- 使用 system() 建立進程
- 使用 fork() 建立進程
- 使用 exec() 建立進程
- 使用 clone()
- 退出
- 構造函數和析構函數
- 等待
- 守護進程
- 實驗室
管道和FIFOS
- 管道和工藝間 Communication
- popen() 和 pclose()
- 管管()
- 命名管道 (FIFO)
- splice()、vmsplice() 和 tee()
- 實驗室
異步 I/O**
- 什麼是異步 I/O?
- POSIX 異步 I/O API
- Linux 實現
- 實驗室
信號 I
- 什麼是信號?
- 可用信號
- 調度信號
- 鬧鐘、暫停和睡眠
- 設置信號處理程式
- 信號集
- sigaction()
- 實驗室
信號 II
- 重入和信號處理程式
- 跳轉和非本地返回
- siginfo 和 sigqueue()
- 實時信號
- 實驗室
POSIX 線程 I
- Linux 下的多線程
- 基本課程結構
- 創建和銷毀線程
- 信號和線程
- 分叉與線程
- 實驗室
POSIX 線程 II
- 死鎖和競爭條件
- 互斥操作
- 信號燈
- Futexes (英语)
- 條件運算
- 實驗室
Networking 和插座
- Networking 圖層
- 什麼是套接字?
- 流套接字
- 數據報套接字
- 原始套接字
- 位元組排序
- 實驗室
套接字 位址和主機
- 套接字地址結構
- 轉換IP位址
- 主機資訊
- 實驗室
套接字、 埠和協定
- 服務埠資訊
- 協議資訊
- 實驗室
套接字 用戶端
- 基本用戶端序列
- 套接字()
- 連線()
- close() 和 shutdown()
- UNIX 用戶端
- Internet 用戶端
- 實驗室
套接字 伺服器
- 基本伺服器序列
- 繫結()
- 聽()
- 接受()
- UNIX 伺服器
- 互聯網伺服器
- 實驗室
套接字 輸入/輸出操作
- write()、read()
- 發送()、recv()
- sendto(), recvfrom()
- sendmsg()、recvmsg()
- 傳送檔案()
- socketpair()
- 實驗室
套接字 選項
- 獲取和設置套接字選項
- fcntl()
- ioctl() 中
- getsockopt() 和 setsockopt()
- 實驗室
Netlink 插槽**
- 什麼是 netlink 套接字?
- 打開 netlink 套接字
- netlink 消息
- 實驗室
套接字多 路復用和併發伺服器
- 多路復用和異步套接字 I/O
- 選擇()
- 投票()
- pselect() 和 ppoll()
- 埃波爾
- 信號驅動和異步 I/O
- 併發伺服器
- 實驗室
行程間 Communication
- IPC的方法
- POSIX 工控機
- 系統 V IPC**
- 實驗室
共用記憶體
- 什麼是共用記憶體?
- POSIX 共用記憶體
- System V 共用記憶體**
- 實驗室
信號燈
- 什麼是信號量?
- POSIX信號量
- System V 信號量**
- 實驗室
消息佇列
- 什麼是消息佇列?
- POSIX 消息佇列
- System V 消息佇列**
- 實驗室
United Arab Emirates - Developing Applications For Linux (LFD401)
Qatar - Developing Applications For Linux (LFD401)
Egypt - Developing Applications For Linux (LFD401)
Saudi Arabia - Developing Applications For Linux (LFD401)
South Africa - Developing Applications For Linux (LFD401)
Brasil - Developing Applications For Linux (LFD401)
Canada - Developing Applications For Linux (LFD401)
中国 - Developing Applications For Linux (LFD401)
香港 - Developing Applications For Linux (LFD401)
澳門 - Developing Applications For Linux (LFD401)
台灣 - Developing Applications For Linux (LFD401)
USA - Developing Applications For Linux (LFD401)
Österreich - Developing Applications For Linux (LFD401)
Schweiz - Developing Applications For Linux (LFD401)
Deutschland - Developing Applications For Linux (LFD401)
Czech Republic - Developing Applications For Linux (LFD401)
Denmark - Developing Applications For Linux (LFD401)
Estonia - Developing Applications For Linux (LFD401)
Finland - Developing Applications For Linux (LFD401)
Greece - Developing Applications For Linux (LFD401)
Magyarország - Developing Applications For Linux (LFD401)
Ireland - Developing Applications For Linux (LFD401)
Luxembourg - Developing Applications For Linux (LFD401)
Latvia - Developing Applications For Linux (LFD401)
España - Developing Applications For Linux (LFD401)
Italia - Developing Applications For Linux (LFD401)
Lithuania - Developing Applications For Linux (LFD401)
Nederland - Developing Applications For Linux (LFD401)
Norway - Developing Applications For Linux (LFD401)
Portugal - Developing Applications For Linux (LFD401)
România - Developing Applications For Linux (LFD401)
Sverige - Developing Applications For Linux (LFD401)
Türkiye - Developing Applications For Linux (LFD401)
Malta - Developing Applications For Linux (LFD401)
Belgique - Developing Applications For Linux (LFD401)
France - Developing Applications For Linux (LFD401)
日本 - Developing Applications For Linux (LFD401)
Australia - Developing Applications For Linux (LFD401)
Malaysia - Developing Applications For Linux (LFD401)
New Zealand - Developing Applications For Linux (LFD401)
Philippines - Developing Applications For Linux (LFD401)
Singapore - Developing Applications For Linux (LFD401)
Thailand - Developing Applications For Linux (LFD401)
Vietnam - Developing Applications For Linux (LFD401)
India - Developing Applications For Linux (LFD401)
Argentina - Developing Applications For Linux (LFD401)
Chile - Developing Applications For Linux (LFD401)
Costa Rica - Developing Applications For Linux (LFD401)
Ecuador - Developing Applications For Linux (LFD401)
Guatemala - Developing Applications For Linux (LFD401)
Colombia - Developing Applications For Linux (LFD401)
México - Developing Applications For Linux (LFD401)
Panama - Developing Applications For Linux (LFD401)
Peru - Developing Applications For Linux (LFD401)
Uruguay - Developing Applications For Linux (LFD401)
Venezuela - Developing Applications For Linux (LFD401)
Polska - Developing Applications For Linux (LFD401)
United Kingdom - Developing Applications For Linux (LFD401)
South Korea - Developing Applications For Linux (LFD401)
Pakistan - Developing Applications For Linux (LFD401)
Sri Lanka - Developing Applications For Linux (LFD401)
Bulgaria - Developing Applications For Linux (LFD401)
Bolivia - Developing Applications For Linux (LFD401)
Indonesia - Developing Applications For Linux (LFD401)
Kazakhstan - Developing Applications For Linux (LFD401)
Moldova - Developing Applications For Linux (LFD401)
Morocco - Developing Applications For Linux (LFD401)
Tunisia - Developing Applications For Linux (LFD401)
Kuwait - Developing Applications For Linux (LFD401)
Oman - Developing Applications For Linux (LFD401)
Slovakia - Developing Applications For Linux (LFD401)
Kenya - Developing Applications For Linux (LFD401)
Nigeria - Developing Applications For Linux (LFD401)
Botswana - Developing Applications For Linux (LFD401)
Slovenia - Developing Applications For Linux (LFD401)
Croatia - Developing Applications For Linux (LFD401)
Serbia - Developing Applications For Linux (LFD401)
Bhutan - Developing Applications For Linux (LFD401)