Fre*_*ong 4 c malloc memory-management
当我的应用程序启动时,我正在为malloc分配一些空间.如果我不填充此变量top显示此应用程序使用的内存的0%,但如果我开始填充此变量top开始显示ram的使用量增加我填充此数组的方式.
所以我的问题是:不应该将malloc分配的空间显示为我的应用程序的已用空间吗?为什么当我填充此变量时,它仅显示我的应用程序的RAM使用量增加?
我在Ubuntu 10.10 64位.以下是填充它的代码:
char pack(uint64_t list, char bits, uint64_t *list_compressed, char control, uint64_t *index){
uint64_t a, rest;
if(control == 0){
a = list;
}
else{
rest = list >> (64 - control);
a = (control == 64 ? list_compressed[*index] : list_compressed[*index] + (list << control));
if(control + bits >= 64){
control = control - 64;
//list_compressed[*index] = a;
(*index)++;
a = rest;
}
}
//list_compressed[*index] = a;
control = control + bits;
return control;
}
Run Code Online (Sandbox Code Playgroud)
"malloqued"变量是list_compressed.
如果我取消注释list_compressed填充,则ram使用率会增加,如果我保持注释,则使用率为0%.
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |