C++底层机制剖析培训

课程介绍
     本课程涵盖 general C++ programming 之外的多重议题,主旨在于让 C++ Programmer 对于 C++ 有更深入的了解和体会。探讨的主题不一定能立刻反应于实际编程之中 (取决于编程领域),但对程序员的技能涵养的提升很有帮助。

课程对象
     企业C++开发技术人员,Java开发人员及运用C++完成工作的技术人员。

课程长度:2天

最新时间:定制课程(内训),人满开班(公开课)

传统的面对面授课方式。

 

课程大纲:

     模块一:C++编译期和运行期综论
          涵盖 Compile (编译) => Object File (目的文件) => Link (链接) => Executable File (可执行文件) => Load (装载) => Process (进程) 的内存布局
     模块二: Startup code (启动码) 详论,兼谈 CRT (runtime library)
          深度剖析 startup code 的作用、改编方式、代码细节 (以 VC's mainCRTStartup 为分析对象)
          涵盖 CRT 对 memory leak 的监控机制 (Heap State Reporting Functions)
          涵盖 debug mode 对 C++ Object 的掌控机制 (Debug Heap)
          探讨 Objects Dumping 作法 (以 MFC 的CDumpContext, CMemoryState, CObject::Dump 为例
     模块三:C++ Under the Hood (C++幕后机制)
          From C to C++:以 C 模拟 C++ class, class members, 'this' pointer,揭示 Object Oriented (面向对象) 的幕后机制。
          Object Model (对象模型) 剖析
          Virtual Mechanism (虚机制) 剖析
          Polymorphism (多态) and Dynamic Binding (动态绑定) 剖析
          Stack/Heap Overflow —— 浅谈黑客手法
          Others Underlying implementation in C++