gpt4 book ai didi

ios - EXC_BAD_ACCESS 发布中的简单代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:44 24 4
gpt4 key购买 nike

下面这个简单的代码在调试中有效,但在 iPhone 6 上发布时失败。

XCode 6.2 (6C131e)

在最新的 64 位 iPhone 上调用 runTest 会导致 EXC_BAD_ACCESS。只有当构建优化级别设置为“更快”或更高时才会发生:-O2、-O3、-Os 或 -Ofast。所以通常在 Release 配置中。顺便说一句,当优化级别设置为“无”或“快速”时,代码运行良好:-O0 或 -O1。

#import <objc/NSObject.h>

@interface Foo : NSObject
@end

@interface Test : NSObject {
Foo *field;
}
@end

@implementation Foo

- (Foo *)bar {
return self;
}

@end

@implementation Test

- (void)runTest {
Foo *foo = [[Foo alloc] init];
field = foo;
field = nil;
[foo bar];
}

@end

请解释为什么会这样。

最佳答案

我向 Apple Bug Reporter 发布了问题,但 Apple 曾要求提供更多详细信息,但从未回应。现在问题报告已经完全消失了。

顺便说一下,这似乎适用于 7.3 版的 clang。

关于ios - EXC_BAD_ACCESS 发布中的简单代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29495339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com