这一定非常简单,但我无法弄清楚如何做到这一点:我有一个C函数来监控当前的内存使用情况:
natural_t 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 ) {
return info.resident_size;
} else {
NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想用它.我如何在.h中声明它?我在目标c方法中尝试了(对我而言):
natural_t report_memory(void);
Run Code Online (Sandbox Code Playgroud)
在代码中的某个地方调用它:
NSLog(@"Memory used: %u", rvC.report_memory());
Run Code Online (Sandbox Code Playgroud)
编译器抱怨error: called object is not a function.因此,我认为,声明在某种程度上是错误的.我尝试了几个选项,但我能得到的最好的是运行时错误......如何解决这个问题?
小智 8
rvC.report_memory()
Run Code Online (Sandbox Code Playgroud)
应该换成
report_memory()
Run Code Online (Sandbox Code Playgroud)
因为它是C函数.
| 归档时间: |
|
| 查看次数: |
2301 次 |
| 最近记录: |