问答:动态链接和静态链接的异同linux系统从加电到用户登陆的过程操作系统的架构图例操作系统如何保证文件和进程的安全TCP/IP协议的组成和结构解释执行和编译执行的异同c语言部分sizeOf对数组,malloc,指针,的值。i++,++i在同一个表达式里求值。指针,数组指针,指针数组,函数指针,函数...
分类:
其他好文 时间:
2014-05-14 07:30:07
阅读次数:
319
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的...
分类:
其他好文 时间:
2014-05-13 09:54:59
阅读次数:
279
1.Heap与stack的差别
Heap是堆,stack是栈。
Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。
Stack空间有限,Heap是很大的自由存储区
C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。
2...
分类:
编程语言 时间:
2014-05-12 23:21:25
阅读次数:
653
readdir()在多线程操作中不安全,Linux提供了readdir_r()实现多线程读取目录内容操作。#include
#include #include int main(void){ DIR* dirp; struct dirent
*dp1=malloc(sizeof(stru...
分类:
其他好文 时间:
2014-05-12 13:34:35
阅读次数:
914
char* psize=malloc(sizeof(char)*100)
返回的可用空间不止100个字节,这是因为
分配的内存块前面有4 或8个字节用来存储分配的内在空间的信息。
所以,如果假设前30个字节有效,释放后70个字节时, free(psize +30)这样的写法是错误的,因为首地址p后移30字节后,还是去读紧邻羞的前面的4或8个字节来确定后面的内存信息。
而 cha...
分类:
其他好文 时间:
2014-05-11 21:49:57
阅读次数:
306
一.如何动态分配多维数组?
1.分配一个指针数组,然后把每个指针初始化为动态分配的行
代码如下:
int **array = (int **)malloc(ROW * sizeof(int*));
int i = 0;
for(i=0; i<ROW; i++){
array[i] = (int *)malloc(COL...
分类:
编程语言 时间:
2014-05-11 15:09:16
阅读次数:
349
也许我使用的x264库比较原始,但经过测试,x264的库存在内存泄露.面对内存泄露,如何在尽量少改动的前提下解决这个问题。
下面是我解决的思路:
由于x264相关的内存分配与释放都有封装一层函数,我们可以在从这两个函数入手。将分配的内存记录到一个链表中,释放时从链表中删除。程序执行完后,
如果链表中有记录,说明是内存泄露,清空链表即可。
所以具体操作如下:
1.增加一个链表;
2.修改x264_malloc函数,将分配的内存记录在链表中;
3.修改x264_free函数,从链表中释放节点;
4.最后统一...
分类:
其他好文 时间:
2014-05-11 01:50:43
阅读次数:
322
昨天晚上我们进行了第一次小组赛,做的是12年的湘潭市比赛的题,我们队只ac了两个题,做这次题的时候,感觉是挺简单的,我们就开始着手做,提交了好几次都是TLE,后面就基本一直在搞这个题,对这个题进行优化,一直到最后,我们还是没能ac。。程序的优化真的很重要啊,特别是比赛的时候,在选对算法后,还要对算法进行一定的优化,在一次一次的优化后,找到更加好的方法,这才是算法的魅力所在吧。今天早上在网上搜了一下...
分类:
数据库 时间:
2014-05-10 10:39:37
阅读次数:
520
memcached的内存分配没有用到c语言中自带的malloc函数,因为这个函数分配内存的时候效率很低,对于这种要求快速响应,对效率要求非常高的缓存软件来说非常不合适。memcached用的是自己的一套内存分配方法,叫做slab
allocation。Memcache单进程最大可开的内存是2GB,如...
分类:
其他好文 时间:
2014-05-09 04:34:29
阅读次数:
338
1,遇到的问题就是 redis 2.8 版本依赖 Google 的 TCMalloc
TCMalloc(Thread-Caching Malloc)是google开发的开源工具──“google-perftools”中的成员。与标准的glibc库的malloc相比,
TCMalloc在内存的分配上效率和速度要高得多,可以在很大程度上提高MySQL服务器在高并发情况下的性能,降低系统负载...
分类:
其他好文 时间:
2014-05-07 05:41:35
阅读次数:
344