控制台里打印程序所占用的内存
导入头文件:
#import <mach/mach.h>
打印内存的函数:
void report_memory(void) {
struct task_basic_info info;
mach_msg_type_number_t size = sizeof(info);
kern_return_t kerr = task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)&info, &size);
if (kerr == KERN_SUCCESS) {
printf("Memory vm : %lu\n",info.virtual_size);
printf("Memory in use (in bytes):%lu b\n",info.resident_size);
printf("Memory in use (in K-bytes):%f K\n",info.resident_size/1024.0);
printf("Memory in use (in M-bytes):%f M\n",info.resident_size/(1024.0 * 1024.0));
} else printf("Error with task_info():%s\n",mach_error_string(kerr));
}
本文介绍了一种在控制台中打印程序内存使用情况的方法。通过导入特定头文件并定义一个函数,可以获取并打印出虚拟内存大小及实际使用的内存数量(以字节、千字节和兆字节为单位)。这种方法适用于需要监控程序内存消耗的应用场景。
1万+

被折叠的 条评论
为什么被折叠?



