XCode 4.2.1 @autoreleasepool 不工作

Posted

技术标签:

【中文标题】XCode 4.2.1 @autoreleasepool 不工作【英文标题】:XCode 4.2.1 @autoreleasepool not working 【发布时间】:2012-01-02 16:12:27 【问题描述】:

我有一个 Xcode 4.2.1 的控制台应用程序,关键字 @autolreleasepool 没有编译: 编译器似乎已为我的控制台应用程序正确设置: 你有什么建议吗?如果我有 Xcode 4.2.1,我想了解为什么 new 关键字不起作用,我知道如何使用旧语法编写 autoreleasepool。

更新

这是无法编译的代码

#include <CoreFoundation/CoreFoundation.h>

int main (int argc, const char * argv[])

    @autoreleasepool

        NSMutableArray *array;
        array = [[NSMutableArray alloc] init];
        int i;
        for (i = 0; i < 10; i++) 
            NSNumber *newNumber =
            [[NSNumber alloc] initWithInt:(i * 3)];
            [array addObject:newNumber];
        
        for ( i = 0; i < 10; i++) 
            NSNumber *numberToPrint = [array objectAtIndex:i];
            NSLog(@"The number at index %d is %@",  i, numberToPrint);
        

    
    return 0;

【问题讨论】:

看看上面的行。您是否错过了终结者,或者看起来有问题?有时会弹出此消息,因为它将当前行解释为上述行的一部分。 我刚刚运行了它,它在我的机器上编译并运行得很好。 @Abizern 你能告诉我你的 main.c 文件的设置是什么吗?我有文件类型:默认 - C 源代码 我发现了问题!我没有使用 Type =“Foundation”创建命令行项目,而是使用了 Type =“Core Foundation”。我将其更改为“Foundation”,现在它可以编译了! 【参考方案1】:

我发现了问题! 我没有使用 Type =“Foundation”创建命令行项目,而是使用了 Type =“Core Foundation”。我将其更改为“Foundation”,现在它可以编译了!

【讨论】:

【参考方案2】:

此文件是否启用了 ARC?检查项目/目标级别设置和文件的各个编译器标志。

【讨论】:

是的,文件和项目都是使用 ARC 配置的,我不明白为什么它不能编译 那么它可能有助于显示稍大的代码 sn-p - 错误可能在 @autoreleasepool 语句之前。 我有一个 Cocoa 应用程序,如果我使用 @autoreleasepool 关键字它可以完美运行,它还会从智能感知中弹出,在这个控制台应用程序中,在 .c 文件中,它没有。 ??? @autoreleasepool 不需要 ARC,只需 LLVM 编译器 3.0:***.com/questions/7950583/autoreleasepool-without-arc 酷!每天学习一些东西

以上是关于XCode 4.2.1 @autoreleasepool 不工作的主要内容,如果未能解决你的问题,请参考以下文章

XCode 4.2.1 @autoreleasepool 不工作

调试 iPhone 3GS xcode 4.2.1

使用 Xcode 4.3 for iOS 4.2.1 进行开发

如何在 xcode 4.2.1 中将应用程序上传到 iTunes 连接?

为啥 Xcode 4.2 不支持运行 iOS 4.2.1 的第二代 iPod Touch

在 Xcode 中设置 GCC 4.2.1 选项