C
冯Jungle
C++开发者
展开
-
资深同事教我做人:堆上分配的内存,只free就完事儿了?
malloc要和free成对使用,malloc的内存,free就完事儿了吗?最近的工作是和另一位资深同事一起,修复组里新老项目上可能存在的一些安全漏洞,包括参数检查和内存释放。参数检查倒还ok,在每个函数开始出对入口参数判空。这一点老代码做得很好,所以这部分工作量很小。关键是内存的释放。new之后,delete了吗?malloc之后,free了吗?准确说,是及时释放堆上动态分配的...原创 2020-03-15 10:48:25 · 614 阅读 · 0 评论 -
编译器内置宏的使用
前段时间看了《C和指针》,讲到编译器内置宏的使用,颇有意思,Jungle做了简单的测试,如下:FILE:在源文件中插入当前源文件名;LINE:在源代码中插入当前源代码行号DATE:在源文件中插入当前的编译日期TIME:在源文件中插入当前编译时间perror(s) :用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串...原创 2018-06-30 21:51:10 · 809 阅读 · 0 评论 -
UNREFERENCED_PARAMETER的作用
刚参加工作,看到单位里的代码,虽说是C语言写的,但是各种宏定义,各种#define和#typedef,看代码把我看得怀疑人生。代码里常见到其中之一的宏定义便是UNREFERENCED_PARAMETER。那么这个宏定义是什么意思?又是怎么用的呢?UNREFERENCED_PARAMETER是在winnt.h头文件里定义的宏:#define UNREFERENCED_PARAMETER(P...原创 2019-02-27 23:52:43 · 569 阅读 · 0 评论