char *buf = malloc(123)
再访问buf
在嵌入式或者单片机中,有时会访问绝对地址
unsigned char * p = (unsigned char *)0xB1234456//内存地址值
然后通过*p访问该地址。
可以通过调用系统命令free。获取free命令的输出值。
比如 system("free >tmp.txt")
然后fopen打开tmp.txt 获取输出,然后处理free的结果得到未使用内存大小。
也可以直接打开/proc/meminfo
第二行MemFree后面的数字就是free内存大小。
第二种更常用一些。
#include<stdlib.h>#include<string.h>
int copymem(void*souceptr,void*destptr,int infolen)
{
return memcpy(destptr,souceptr,infolen)// 复制源去目标地址,位数为Infolen
}