最近在做64位代码移植,代码中到处充斥着类型转换,到处报编译警告和错误,比如以下使用:
unsigned int ret=0,*p=NULL;
p = (unsigned int *)malloc(sizeof(4));
ret = (unsigned int )p;
以上这段代码,在32位编译系统中没问题,但是在64位编译系统中就会报错,说是类型转换size不一样,因为在64位,所有指针...
分类:
其他好文 时间:
2014-08-23 23:01:01
阅读次数:
264
/*
无锁内存缓冲池
其特点如下:
池内存的申请和释放不会使用锁,只会用到微耗的interlockedincrement和interlockeddecrement函数
池内存总大小和池内内存块的大小是固定长度的,通过构造函数的参数指定;
分配出来的池内存是经过memset确认的物理内存;
池大小是固定的,若池中空闲内存不足以提供所需,则池内存分配函数利用malloc...
分类:
其他好文 时间:
2014-08-23 16:52:03
阅读次数:
344
Any Unix-like operating system needs a C library: the library which defines the ``system calls'' and other basic facilities such as open, malloc, pr.....
分类:
其他好文 时间:
2014-08-22 17:43:09
阅读次数:
157
原链接:http://blog.chinaunix.net/uid-24347760-id-1989578.html在突然听到这个名词后,在网上搜的。1.变长数组是分配在堆栈上的,其实从语义的角度也应该是这样,变长数组还是一个数组,还是一个局部变量,在c语言中,局部变量是分配在堆栈上的,malloc...
分类:
其他好文 时间:
2014-08-21 16:49:44
阅读次数:
134
C语言中常用的内存分配函数有malloc、calloc和realloc等三个,其中,最常用的肯定是malloc,这里简单说一下这三者的区别和联系。
1、声明
这三个函数都在stdlib.h库文件中,声明如下:
void* realloc(void* ptr, unsigned newsize);
void* malloc(unsigned size);
void* c...
分类:
数据库 时间:
2014-08-20 10:34:06
阅读次数:
234
typedef struct node{ int count; struct node *next[MAX];}Trie;Trie *Newnode()//建立结点&初始化a{ int i; Trie *T; T = (Trie *)malloc(sizeof(Trie...
分类:
其他好文 时间:
2014-08-19 20:39:25
阅读次数:
169
今天在网上看到了这样一个问题,“如果malloc 了一块字符串的内存,然后,它改变了这个字符串的大小,问会不会有一部分内存没有被释放掉。”这个问题,以前的确没有仔细想过。
当然,我觉得是肯定会释放掉的,但是一直没有了解过free 的原理,不敢乱说。我看了一下操作系统的内存管理,基本上是这样的,当然各个系统的实现不一样。
操作系统管理内存,维护了一个空闲内存链表,malloc从个链表中选...
分类:
数据库 时间:
2014-08-19 09:24:53
阅读次数:
163
n 基本框架:a) 查看运行时数据b) 程序错误类型c) Gdb调试段错误d) Core文件调试6.1 查看运行时数据1) print 查看变量值2) ptype 查看变量类型3) print array 查看静态数组4) print *array@len 查看动态内存(malloc),也可以查看静...
分类:
数据库 时间:
2014-08-18 16:14:22
阅读次数:
213
C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结构中的柔性数组成员前面必须至少一个其他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的.....
分类:
其他好文 时间:
2014-08-18 13:05:22
阅读次数:
225
今天在网上看到了这样一个问题,“如果malloc 了一块字符串的内存,然后,它改变了这个字符串的大小,问会不会有一部分内存没有被释放掉。”这个问题,以前的确没有仔细想过。
当然,我觉得是肯定会释放掉的,但是一直没有了解过free 的原理,不敢乱说。我看了一下操作系统的内存管理,基本上是这样的,当然各个系统的实现不一样。
操作系统管理内存,维护了一个空闲内存链表,malloc从个链表中选...
分类:
数据库 时间:
2014-08-18 10:53:44
阅读次数:
208