最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

「你所不知道的 C 語言」系列講座

2022-02-07 22:30 作者:Iammyself001  | 我要投稿

副標題:深度學習 C 語言
回歸第一手資料,透過反思 C 語言程式設計的細節(jié),重新學習電腦原理 – jserv

講座說明

在大學教了幾年嵌入式系統(tǒng)課程後,我深深體會到這個事實:與其說學生對嵌入式系統(tǒng)掌握度不足,不如說為數(shù)眾多的人根本只是學了 C 程式語言的語法,而從未想過背後的原理、語言設計者的思維和理念,以及在真實環(huán)境中的關聯(lián)。

古希臘 Delphi 神殿前,有一則神諭寫道 “Know Thyself”,也就是「誠實面對自己」,我們程式設計師就該從技術、團隊合作、理性思考,以及培養(yǎng)堅忍不拔精神等方面, 找到自我,從而建立自信。

於是,從 2015 年秋季開始,我做了一系列的調整,重新探討 C 語言程式設計,安排了「你所不知道的 C 語言」系列講座,透過實體和線上直播課程,整理這二十年來程式設計經(jīng)驗,帶著學員參考第一手的資料 (例如 ISO/IEC 9899 C 語言規(guī)格),並善用系統(tǒng)開發(fā)工具 (如 GNU Debugger),屏棄過往臆測為主的學習方式,探究實際 C 程式的行為並反思箇中原理,讓更多人得以正視自己的盲點,從而打下穩(wěn)固的基礎。

你所不知道的 C 語言

  • 為什麼要深入學習 C 語言? (2017.05)

    • 與其瞎猜,不如從第一手材料研讀起

    • 掌握 C 語言規(guī)格和演化

    • 熟悉 GDB 在內(nèi)的工具程式

  • 指標篇 (2015.11) (2016.09) (2018.02)

    • 都稱為 derived declarator types

    • 解讀 C 語言規(guī)格書的 “object”

    • 重讀 “type” 的定義,並且理解 incomplete type 的意義

    • 三位一體: Array, function, pointer types

    • void * 的設計考量

    • C-style string

  • 函式呼叫篇 (2015.12) (2016.02) (2017.10) (2022.01)

    • process memory layout

    • application binary interface (ABI)

    • stack pointer

    • 重新檢閱 Heap: malloc() / free() 的實做

  • 遞迴呼叫篇 (2016.11) (2018.07)

  • 記憶體管理、對齊及硬體特性 (2018.09)

    • 硬體的行為

    • 消除對於 alignment, padding, memory allocator 的誤解

    • 探討高效能 memory pool 的設計

    • C11 標準的 aligned_alloc

  • 編譯器和最佳化原理篇 (2016.01) (2017.10)

    • 以 GNU Toolchain 為探討對象,簡述編譯器如何運作,以及如何實現(xiàn)最佳化

    • C 語言程式如何轉換為機械碼,以及最佳化的空間和限制

  • C 編譯器原理和案例分析 (2018.08)

    • 從一個簡易的 JIT compiler,回顧 code generator / JIT compiler

    • 用不到一千行 C 程式,實現(xiàn)小型 C 語言編譯器

  • 物件導向程式設計篇 (2016.04) (2016.05) (2018.09)

    • Linux 核心、Apache HTTP 伺服器,以及 Gtk+ / GNOME 這些專案原始程式碼背後都應用大量物件導向設計方法

    • 實踐物件導向,並強調帶來的效益

    • 展示 GoF 的《Design Patterns》如何用 C 語言實做

  • 前置處理器應用篇 (2016.06)

    • 回顧 C99/C11 的 macro 特徵,探討 C11 新的關鍵字 _Generic

    • 探討 C 語言程式的物件導向程式設計、抽象資料型態(tài) (ADT) / 泛型程式設計 (Generics)、程式碼產(chǎn)生器、模仿其他程式語言,以 preprocessor 搭配多種工具程式的技巧

  • 動態(tài)連結器 (2016.08) (2018.10)

    • symbol 的奧義, dynamic linker 的行為, 用 GDB 追蹤 C 語言程式

  • 連結器和執(zhí)行檔資訊 (2019.02)

  • 執(zhí)行階段程式庫 (CRT) (2018.10)

  • 技巧篇 (2017.03) (2019.07)

    • 以矩陣運算的案例,實踐物件導向、指標操作、函式呼叫等觀念

  • 數(shù)值系統(tǒng)篇 (2017.04) (2019.08)

  • 浮點數(shù)運算 (2020.03)

  • bitwise 操作 (2020.02)

  • 從打造類似 Facebook 網(wǎng)路服務探討整合開發(fā) (2017.04)

  • goto 和流程控制 (2017.11)

  • linked list 和非連續(xù)記憶體操作 (2018.01) (2022.01)

  • Stream I/O, EOF 和例外處理 (2018.03) (2019.04)

  • 未定義行為篇 (2018.07)




「你所不知道的 C 語言」系列講座的評論 (共 條)

分享到微博請遵守國家法律
宜昌市| 织金县| 治多县| 南安市| 卢湾区| 敦化市| 新绛县| 辽宁省| 沙坪坝区| 新平| 九龙坡区| 大埔县| 清镇市| 平谷区| 德保县| 伊通| 宁晋县| 丰台区| 双柏县| 噶尔县| 达尔| 扬中市| 库车县| 临沭县| 西贡区| 富顺县| 灵宝市| 京山县| 遂溪县| 铜鼓县| 邯郸县| 宁武县| 吉木萨尔县| 剑河县| 汝城县| 吉隆县| 吴忠市| 崇礼县| 商都县| 南华县| 丽水市|