培训简介

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


培训大纲 (2 天, 12 小时)

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++

培训简介

C++允许 (并且要求) 程序员自行操控 Memory Heap (i.e. Dynamic Allocation),这虽然带给程序员负担,从某个角度说却也是 C++ 的优势 (速度表现与空间自主)。为此,我们必须追求在此现实下如何使用 memory 以符合空间和速度上的最佳利益。本课程在低阶面全面介绍与 memory 相关之 C++ 语言构件,在高阶面深度剖析各大程序库 (STL, Loki, MFC, Boost) 的 pooled allocation 作法,并检讨它们的优缺点,作为可能的借鉴或改善方向。


培训大纲 (2 天, 12 小时)

malloc/free:這是 C/C++ 动态分配的根基和起点。此部分让学员充分了解其中的精巧繁复,使足以评估在此之上添加內存管理的必要性与可能方向。
图解 malloc/free的相关结构,及內存分配过程中的变化。
剖析 malloc/free的关键源代码
以 Visual C++ 和 GCC 为剖析对象

C++ 内存管理相关构件和重载方式
new expression vs. operator new
delete expression vs. operator delete
array new and array delete
placement new
new /delete operator overloading

实例分析 (含关键源码分析)
Allocator in C++ Standard Library 
Allocator in Loki
Allocator in MFC
Allocator in Boost

《C++底层机制剖析》、《C++内存管理》课程培训特点

分析透彻、深入

该课程不是泛泛介绍与堆砌各种开发与设计技术,而是建立在讲师对企业级软件开发技术所具有的特点、分析与设计的深刻理解之基础上。根据以前的授课经验,学员普遍反映效果非常好。

培训方法独特

SoftCompass-祝成科技有一组独特的培训方法即:深入的原理剖析+实际的企业应用案例,剖析软件平台架构、分析软件开发技术。根据以前授课经验,这种教学方法得到了企业开发人员的热烈响应。

内容编排科学、实用

课程是讲师多年企业应用开发、设计理论与实践经验的总结与提炼、并针对企业客户的特殊要求进行专门设计,非常适合有经验的企业学员。

注重案例,注重架构

学习企业级软件开发技术的关键在“应用”,本培训通过丰富的案例教学,剖析常见的企业开发应用模式,帮助学员更好地掌握进行企业级应用程序开发时所涉及到的设计方法、实践、模式与架构。

专家名师讲授

SoftCompass-祝成科技拥有全国第一流的专家师资队伍,在中国软件开发培训界享有极高的盛誉,并经常被微软Tech·ED、Intel公司、中国软件开发大会邀请进行技术演讲。
如果您对以上课程感兴趣,请

典型客户