91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NSAutoreleasePool初始化語句必須是第一條執行語句

發布時間:2020-06-29 13:08:25 來源:網絡 閱讀:657 作者:心如明鏡 欄目:開發技術

 

如果這樣寫:

  1. #include "say.h" 
  2. #include <Foundation/Foundation.h> 
  3.  
  4. int main(void)  
  5.         id speaker; 
  6.         NSString *name = @"GNUstep !"
  7.         NSAutoreleasePool *pool; 
  8.         NSArray           *outArray; 
  9.         NSArray                     *array2; 
  10.          
  11.         array2 = [NSMutableArray arrayWithCapacity:20]; 
  12.          
  13.         pool = [NSAutoreleasePool new]; 
  14.         speaker = [[Say alloc] init]; 
  15.         outArray = [NSArray arrayWithObjects: @"Msg1", @"Msg2", @"Msg3", @"Msg4", nil]; 
  16.         //printf("%@\n", [outArray objectAtIndex: 0]);      //GNUstep下只輸出了@ 
  17.         //GSPrintf(stdout, "%@", [outArray objectAtIndex: 1]);  // GNUstep下崩潰 
  18.         NSLog(@"%@\n", [outArray objectAtIndex: 2]);                        // GNUStep下ok 
  19.          
  20.         [speaker sayHello]; 
  21.         [speaker sayHelloTo: name]; 
  22.          
  23.         RELEASE(speaker); 
  24.         RELEASE(pool); 
  25.          
  26.         #ifdef DEBUG 
  27.             NSLog(@"%@\n", @"Debug Now"); 
  28.         #endif 
  29.          
  30.         return 0; 

array2 就不受內存池管控,執行時會報錯:

 

$ ./obj/HelloWorld.exe

2013-03-15 15:20:57.015 HelloWorld[5372] autorelease called without pool for ob

ect (0x3eb2f8) of class GSMutableArray in thread <NSThread: 0x520878>

把 array2 = [NSMutableArray arrayWithCapacity:20]; 放置到 pool = [NSAutoreleasePool new]; 之后,就沒有問題了。

 

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐津县| 永吉县| 蕉岭县| 岑溪市| 长沙县| 连江县| 高青县| 勃利县| 贡山| 邛崃市| 乐山市| 吉安县| 东阳市| 海晏县| 辉县市| 保山市| 香河县| 江永县| 松潘县| 囊谦县| 通榆县| 丰顺县| 福鼎市| 萍乡市| 卢湾区| 来安县| 彰武县| 二连浩特市| 扎囊县| 桃江县| 沂水县| 高尔夫| 普定县| 齐河县| 青川县| 吉水县| 东乌| 荥阳市| 马龙县| 浦东新区| 苏尼特右旗|