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