在VS中调用 strcpy、strcat 等函数时会提示 _CRT_SECURE_NO_WARNINGS 警告,原因是这些函数不安全,可能会造成内存泄露等。比如: 所以建议采用带_s的函数,如strcpy_s,calloc_s。 当然,如果执意使用老版本、非安全版本函数,可以使用 _CRT_SECU ...
分类:
其他好文 时间:
2018-11-29 11:08:33
阅读次数:
141
我们都知道,使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的。但是,如果你简单地把这一招应用到 new 上,那可就不一定正确了。我经常看到类似这样的代码: int* p = new ...
分类:
编程语言 时间:
2018-11-24 11:48:23
阅读次数:
364
Spark集群 0.0体验安装Spark在集群单节点 1.tar tar xzvf xxx.tgz C /soft/ ln s /soft/spark 2.1.0 bin hadoop2.7 /soft/spark 2.配置环境变量 SPARK_HOME=/soft/spark PATH=$SPAR ...
分类:
其他好文 时间:
2018-10-13 00:03:34
阅读次数:
189
动态分配和释放存储单元 malloc(size):内存动态存储空间中分配长度为size的连续空间(单位是Byte字节),返回起始地址,注意类型强制转换【int* p; p=(int*)malloc(size);】【p本身返回void】 calloc(n,size):内存动态存储区中分配n个长度为si ...
分类:
其他好文 时间:
2018-08-28 13:02:34
阅读次数:
121
C标准库提供了malloc,free,calloc,realloc,C++标准库还提供了new, new[], delete, delete[]。这些用来管理内存,看起来够用了,为啥还要自己写一个内存管理器呢? 原因还是从性能考虑:例如malloc和new是出于通用性考虑的,能处理多线程情况(mul ...
分类:
编程语言 时间:
2018-08-22 01:12:06
阅读次数:
157
4.5.1 堆管理的相关库函数 在ISO C中规定了三个动态分配内存的函数,分别是: void *malloc(size_t size); void *calloc(size_t nmemb, size_t size); void *realloc(void *ptr, size_t size); ...
分类:
其他好文 时间:
2018-08-15 13:32:33
阅读次数:
263
calloc和realloc与malloc的区别 calloc和realloc的原型如下: void *calloc ( size_t num_elements, size_t element_size ); void *realloc (void *ptr, size_t new_size ); ...
分类:
其他好文 时间:
2018-07-31 23:25:51
阅读次数:
145
动态内存分配主要的函数有: malloc(), realloc(), calloc() 都包含在头文件 #include <stdlib.h> 里 这几个函数的定义: void *__cdecl malloc(size_t _Size); // 返回的是内存的首地址 void *__cdecl re ...
分类:
其他好文 时间:
2018-06-23 15:38:10
阅读次数:
183
valgrind --leak-check=yes检查bufr编解码程序运行时提示still reachable: 568 bytes in 1 blocks,如下图示: 于是怀疑有内存泄漏,难道是malloc或calloc后没有free?但这样仍看不出哪里代码出了问题,于是开启valgrind的选 ...
分类:
其他好文 时间:
2018-06-22 13:25:10
阅读次数:
4107
malloc和calloc用法 c include include int main(){ int n; printf("input n: "); scanf("%d", &n); //一个参数,指定具体空间的大小 int p = (int )malloc(sizeof(int) n); if(NU ...
分类:
其他好文 时间:
2018-06-08 18:30:27
阅读次数:
164