我知道,至少在 OS X 上,由于 Apple 的 Objective-C 运行时加载类的方式,不可能动态卸载包含已加载类的实现的动态库。对于只知道引用标头的对象但不包含任何类的方法实现的库,这是否成立?
为清楚起见,我想使用 Objective-C 来编写动态库,但会加载和卸载带有ResultObject* performActionOnObject(SomeObject* object)
.
编辑:
为了更清楚,考虑一个函数,如
NSNumber* computeFactorial(NSNumber* operand){
NSUInteger n = [operand unsignedIntegerValue];
/// ... pure C loop omitted
return [NSNumber numberWithUnsignedInteger:n];
}
并假设当它被调用时,自动释放池处于活动状态。这样卸货可以吗?