Re: [問題] 請問 IPC - 更改需求至 tcp/ip ; Object C 與 Xcode

作者: HuangJC (吹笛牧童)   2014-02-11 16:05:46
記得以前偶爾會和朋友分辨清楚:
Visual C 是個產品
而 C 是種語言
Ansi C 是個標準
以上也許未達精確
我的意思是,討論時我很能容錯,因為我也常錯
所以只要聽得懂朋友說什麼,我們就繼續討論下去
朋友要混用三個詞我完全不介意;除非必需分辨它了
現在我又碰到這狀況了:
Object C 是種語言
Xcode 是個產品(這種語言的 compiler)
為什麼呢? 因為我買了本書,叫做 Object - C 無痛入門
裏面至少有兩點就踢中鐵板
1.@synthesize 保留字
書上說用這個取代 @property, 就可以連 get set 的本體程式都不用寫
但如果寫了,就以我們寫的為準;自動判斷,很方便
不過 Xcode 上我實測,打了 @synthesize 就 build fail
(更正,不會 build fail, 是我打錯地方了;我打在 interface 裏)
而 @property 就有自動補上 get set 本體的能力了 (其實這樣更好用)
2.書上說, Object C 的 class 可以沒有 base class,
並沒預設一定要從 NSObject 繼承起
實測上, Xcode 無法接受沒有 base class, 一定會 build fail
就舉以上兩例,也許我可以說, Object C 這本書,講的是這個語言的標準
而 Xcode 是一個實作這語言的 compiler,它有些許不同
更甚至,我擔心的是 Xcode 有版本差異(有版本當然會有差異;我意思是,不向舊版相容)
因為我從網路上抓到的 sample code 要 build 過就好辛苦
嗯,今天還沒 build 過
其實我今天趕的 dead line 是要寫出 tcp/ip server & client
剩沒幾個小時了 Orz
主管要求用 tcp/ip 實測能不能跨 task, 可以的話當然可以做 ipc
至於兩個程式無法同時執行,這我們可以克服
因為我們是 GPS 程式,有背景執行的權限..
作者: johnlinvc (阿翔)   2014-02-11 16:40:00
書有點舊了,三年前確實一定要打@synthesize
作者: HuangJC (吹笛牧童)   2014-02-11 16:46:00
原來如此.. 真有我快被 ARC 搞死了,這東西好像挺新..這本書就沒教 ARC (應該沒教吧)
作者: johnlinvc (阿翔)   2014-02-11 16:56:00
書裡面如果還有retain 關鍵字的話就可以當古文物了XD
作者: HuangJC (吹笛牧童)   2014-02-11 16:57:00
那我去加瑪雅人好友好了 Orz
作者: johnlinvc (阿翔)   2014-02-11 17:36:00
java的不是ref count, 他是跑generation GC也就是直接從object root去traverse,砍了走不到的generation指的是有分粗略GC和仔細GC,用來加快速度
作者: HuangJC (吹笛牧童)   2014-02-11 18:28:00
喔,因為所有物伴有同一個根部 class,這變得不難理解!!那我如果又有幸回到 C++,我寫這個就好了,安全又省事 XD
作者: atst2 (atst2)   2014-02-11 18:54:00
arc跟gc不同,不要搞混了. reference count也跟gc不同學究一點的講法,rc/gc是記憶體以及所有權管理的不同策略想要達到的目的類似, 但做法不同. arc則是自動化的rc是由編譯器用前置處理器自動幫你加上retain/release在編譯前處理, 就算前置處理器了. 跟C的差異只在處理的目的不同. 詳情可以參考一下wiki對preprocessor的說明.arc簡單說就是剖析你的程式, 判斷在那些地方應該要加上retain,release等字串. 加完字串後,還是交給objective-c的編譯器來處理.

Links booklink

Contact Us: admin [ a t ] ucptt.com