作者 主題: 【自強基金會】C++名師,侯捷老師 8月在台開課!!  (閱讀 360 次)

0 會員 與 1 訪客 正在閱讀本文。

cyho

  • 憂鬱的高中生
  • ***
  • 文章數: 124
    • 檢視個人資料
【課程名稱】【C++技術講堂】C++ Under the Hood (C++底層揭密)   
【課程網頁】http://edu.tcfst.org.tw/query_coursedetail.asp?courseidori=06C343

【課程代碼】06C343
【上課時間】2017/8/4~8/5,週五、六,AM 09:00~PM 16:00,共計兩天,12小時。
【課程目標】令高階C++ programmers更進一步理解C++幕後運作機制。
【課程特色】   
特別強調 "內核揭密, 源碼剖析",徹底理解C++啟動與結束之種種背景運作、CRT (C Runtime Library) 扮演的重要角色、C++ virtual functions/ polymorphism /dynamic binding的幕後機制。
本課程談的是基礎內核知識,對於高階 技術養成及通貫極有幫助。全部內容建立在源碼級別 (source code level)

【建議修課條件】 熟悉C++語言, 對各種來龍去脈感興趣。

【課程大綱】   
* Startup Code 是什麼?它們出現在哪裡?可觸摸嗎?可修改嗎?可利用嗎?
* C Runtime (CRT) 在 C++ 程式中扮演的重要角色
* 徹底理解 C++ programs 生前死後的 每一個細節
* C++ programs 執行前 (before main) 和退出後 (after exit) 的所有 行為:
mainCRTStartup, heapinit, ioinit, environment variables, argc & argv & envp, cinit, core of C Initialization, core of C++ Initialization, main(), secrets of exit.
* 如何讓程式碼在 main() 之前執行
* 為什麼能夠讓程式碼在 main() 之前執行
* 如何讓程式碼在 exit() 之後執行
* 為什麼能夠讓程式碼在 exit() 之後執行
* main() 執行前的 CRT 小區塊 (small memory blocks) 分配和釋 放 (實例觀測)
* global/static objects 的 ctors & dtors 的特殊性
* CRT malloc/free 行為綜覽和實例觀察
cookies, debug headers, 16 headers, 64 groups (free-lists),
32 regions, memory management, blocks merging (de- fragment).
* Debug Heap 的形成和實例觀察
* CRT Reporting Functions
* virtual functions 神奇實現 OCP (Open-Closed Principle) 的原因
* virtual functions 背後運作 (關於 vptrs 和 vtbls)
* 何謂動態繫結 (dynamic binding)? 編譯形式為何?
* virtual functions 的兩大應用形式:(1) Polymorphism (2) Template Method

【課程師資】侯捷
,25 年經驗於計算機技術之寫作/翻譯/授課,先後執教於元智大學、南京大 學、 同濟大學 (現任)。著有《深入淺出MFC》《STL源碼剖析》《多型與虛擬》《無責任書評》 等書,譯有《深度探索C++物件模型》《C++ Primer》《Effective C++》《More Effective C++》等書。擅長以精妙的圖片和淺白的文字解釋高深的編程技術。長以精妙的 圖片和淺白的文字解釋高深的編程技術。

【上課時數】   12 小時
【上課地點】   新竹市光復路二段101號創新育成大樓
【主辦單位】   財團法人自強工業科學基金會
【諮詢專線】   03-5623116#3216 何小姐 cyho@tcfst.org.tw

【C++名師講堂】系列課程:
Memory Management(記憶體管理) http://edu.tcfst.org.tw/query_coursedetail.asp?courseidori=06C344
Design Patterns (設計模式) part1http://edu.tcfst.org.tw/query_coursedetail.asp?courseidori=06C345
Design Patterns(設計模式) part2http://edu.tcfst.org.tw/query_coursedetail.asp?courseidori=06C346
C++2.0 (C++11/14/17) 新特性,涵蓋語言和標準庫http://edu.tcfst.org.tw/query_coursedetail.asp?courseidori=06C347
Generic Programming and STL Architectures (泛型編程與C++標準庫體系結構)http://edu.tcfst.org.tw/query_coursedetail.asp?courseidori=06C348