第一课:深入malloc与new——Abstract Memory Machine
课程目标与先决条件
Goal: 帮助熟练的程序员理解何时、如何去使用C和C++
Backgroud:
* 专业知识
1.基本数据结构(链表、二叉搜索树等)
2.基本的命令式编程概念
- 变量
- 循环
- 函数与函数抽象
* 其他知识
1.函数式编程
2.系统编程
3.硬件
4.另一种OOP编程语言
课程安排
共6次课。6天。
序号 | 主题 |
---|---|
1 | C与内存管理 |
2 | 内存管理逻辑 |
3 | 高级内存管理 |
4 | C++与OOP |
5 | 高级OOP |
6 | 技巧,Q&A |
高阶C介绍
C家族:
- C:1972年,Dennis Ritchie
- C++:1979年,Bjarne Stroustrup
- C#:2001年,Microsoft
C哲学
C是编译的、命令式的、手动内存管理的、追求速度、内存、底层特性的。
内存布局图
如何开始C编程
-
- 获取C编译器,如GCC)
-
- 写一个hello.c。
#include <stdio.h>
int main() {
}
-
- 编译:gcc -o run_hello hello.c
-
- 运行:./run_hello
复习与作业
- 获取C编译器并安装
- 编译并运行HelloWorld,打印系统时间
- 试一试gdb和valgrind