内存管理,宏函数

1、硬件(静态存储) VS 内存(动态存储)

2、为什么所有的编程都关注内存管理?--- 内存属于稀缺资源

3、编程过程中,内存管理主要做什么?---(防止内存泄露)

4、如何防止内存泄露?(用户自己管理、系统管理(GC:垃圾回收机制))

用户自己管理:缺点:对用户的要求比较高(良好编码习惯,经验值)

                      优点:开销小,实时性高

系统管理(GC:垃圾回收机制):优点:能够有效的防止内存泄露

                                                缺点:开销大,实时性差,用户无法干预

5、C语言防止内存泄露方法:1、养成良好的编码习惯2、内存区域的划分(Linux虚拟地址空间)                                                  3、动态分配内存的方式选择
6、检测内存泄露

内存池:(将使用多次malloc操作改变成只使用1次)
malloc/free是一个开销非常大的操作

预处理

1、预处理主要任务:  头文件展开 宏替换 条件编译

2、头文件展开 : #include<> VS #include""

<>:包含系统定义的头文件(/usr/include),搜索路径:/usr/include系统的头文件目录;

"":包含自定义de头文件,搜索路径:先在当前目录查找,再到系统的头文件目录查找;

gcc -l指定头文件第三方搜索路径;

3、宏替换:

A\宏语法:#define NAME Value
B\替换逻辑:傻瓜式式替换 注意事项:使用()解决运算符优先级的题                                                C\ 作用:定义常量(杜绝幻数)提高代码可读性                                                                                                  定义函数(宏函数):(用编译时间换内存空间)(用空间运行换时间:inline:修饰函数 c99支持 内嵌函数---把函数体的语句嵌到调用的语句   修饰的函数不能超过5行,不能存在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值