在我的一个iPhone应用程序版本中,我无意中创建了一个变量,在上面的范围中映射了一个变量。这是无意的,但是由于Objective-C显然允许在if块及其包含方法之间隐藏变量,因此编译它。iPhone 2G和3G之间的内存分配
当我发出这段代码时,使用iPhone 3G的人立即遇到了问题,但使用2G的人没有任何明显的问题。
有没有人碰巧知道这两个模型是否存在实际的操作系统差异? 2G有编译时间,静态内存分配,不知何故?
这是一个巨大的混乱点,因为我只有一个2G开发设备,并且从来没遇到过问题,即使理论上代码不应该按预期工作。
现在,还有一些其他的区别在于,3G使用的是构建AdHoc构建版本,而2G使用的版本是针对版本的。
嗯,谢谢。我意识到操作系统本身是相同的,但这并不意味着底层内存架构完全一样。这个问题是因为在Shadowing的情况下发生了一个奇怪的事件(我知道这是一个错误,直到发布才被捕获)。我想知道如果我应该修改一个静态分析器来寻找阴影或其他东西... – Sam 2009-06-10 17:49:48