技术交流

TECHNICAL EXCHANGES

【永航外训】002 《c++底层揭秘》(嘉宾:南京大学 侯捷教授)

            2015年11月21日至22日,我们邀请到 侯捷教授为大家带来《c++底层揭秘》培训,详情如下:


讲师介绍:


      侯捷25 年经验于计算器技术之写作/翻译/授课。现任南京大学、同济大学客座教授。着有《深入浅出MFC》《STL源码剖析》《多态与虚函数》《无责任书评》等书,译有《深度探索C++对象模型》《C++ Primer》等书。



培训介绍:


 (1)说明:令高阶C++ programmers更进一步理解C++ 幕后运作机制

 (2)特色:特别强调"内核揭密源码剖析",彻底理解C++ 之启动与结束之种种背景运作、CRT (C Runtime Library) 扮演的重要角色、及C++ virtual functions / polymorphism /dynamic binding 的幕后机制。本课程谈的是基础内核知识,对于高阶技术养成及通贯极有帮助。全部内容建立在源码级别(source code level)。

(3)适合:C++ 中高阶学员

(4) 时数:6.-12小时



培训大纲:


(1)Startup Code 是什么?它们出现在哪里?可触摸吗?可修改吗?可利用吗?

(2)C Runtime (CRT) 在C++ 程序中扮演的重要角色

(3)彻底理解C++ programs 生前死后的每一个细节

(4)C++ programs 运行前(before main)和退出后(after exit) 的所有行为:

(5)mainCRTStartup, heapinit, ioinit, environment variables, argc & argv & envp,

(6)cinit, core of C Initialization, core of C++ Initialization, main(), secrets of exit.

(7)如何让程序在main() 之前执行

(8)为什么能够让程序在main() 之前执行

(9)如何让程序在exit() 之后执行

(10)为什么能够让程序在exit() 之后执行

(11) main() 执行前的CRT 小区块(small memory blocks) 分配和释放(实例观测)

(12) global / static objects 的ctors & dtors 的特殊性

(13) CRT malloc / free 行为综览和实例观察

(14) cookies, debug headers, 16 headers, 64 groups (free lists), 32 regions, memory

management, blocks merging (de-fragment).

(15)Debug Heap 的形成和实例观察

(16)CRT Reporting Functions

(17) virtual functions 能够神奇实现OCP (Open-Closed Principle) 的原因

(18)virtual functions 背后如何运作(关于vptrs 和vtbls)

(19)何谓动态绑定(dynamic binding)?编译形式为何?

(20)virtual functions 的两大应用形式:(1) Polymorphism (2) Template Method


Copyright © 2005-2016 Yonghang Technology. All Rights Reserved   
京ICP备09024877号 京公网安备11010102000822号.