【发布时间】:2015-09-10 06:09:38
【问题描述】:
我正在使用 Swift 编译器的桥接头功能调用 C 函数,该函数使用 malloc() 分配内存。然后它返回一个指向该内存的指针。函数原型类似于:
char *the_function(const char *);
在 Swift 中,我是这样使用它的:
var ret = the_function(("something" as NSString).UTF8String)
let val = String.fromCString(ret)!
请原谅我对 Swift 的无知,但通常在 C 中,如果 the_function() 正在分配内存并返回它,那么其他人需要在某个时候释放它。
这是由 Swift 以某种方式处理的,还是在这个例子中我泄漏了内存?
提前致谢。
【问题讨论】:
标签: c swift pointers memory-management