作者HuangJC (吹笛牧童)
看板MacDev
标题Re: [问题] 请问 IPC - 更改需求至 lib
时间Thu Feb 6 17:23:54 2014
Dear All:
刚和主管讨论,我们接受另一种方案,就是 lib
因此目前我正在爬相关范例
lib 还分两种, static link or dynamic link
static 似乎 Xcode 直接支援,这我再去确认
而 dynamic link 呢?
我意思是,Xcode 本身是个 ide
以我从 win os 来的背景,我把它理解成和 Visual C 同一级的产品
compiler,linker,resource editor,debugger 通通整合在一起
没IDE的时代我也经历过,那就是在 PE2写程式,在小画家画图,存成 BMP
然後在命令列跑 maker 批次档,debug 靠独立除错器,比如 codeview,还不只一家有出
那麽,Xcode 有支援 dylib 吗?
http://stackoverflow.com/questions/194485/how-do-i-create-a-dynamic-library-dylib-with-xcode
http://tinyurl.com/3q2xvtv
这是我找到的范例
就是自己打文字档,然後呼叫 gcc 来 compile
以此例来说,那是没整合进 Xcode 环境了
(在 new project 时我就没找到相关选项了)
当然程式不是不能写,但後续 debug 有没有 IDE支援等等,就头痛了
(也许可以用LOG吧!)
以上请教
自己找到答案後我会修文回馈
谢谢
--
活动/美食计划
兰屿 鱼白 胜兴车站 星月天空 武陵 草岭古道
嘉义阿里山小火车 保龄球 司马库斯
手包水饺 日月潭缆车 合欢攻顶 马祖
盐山 南庄 澎湖 溪头/松林町 南投天梯
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.197.63
1F:→ atst2:在ios上的话,记得只能用static link吧 02/06 17:37
2F:→ HuangJC:这样啊,我一直把 mac & ios 混为一谈,多谢提醒 02/06 17:39
3F:→ atst2:原因很简单,ios不允许第三方在上面加装函式库,dylib在ios上 02/06 17:39
4F:→ atst2:没什麽意义, 即便你用dylib, 安装的时候,还是得把lib装上去 02/06 17:40
5F:→ atst2:不会因为别的程式也用了同样的lib,就能减少你的程式的空间 02/06 17:41
6F:→ atst2:这样还不如使用static lib,还能减少一些载入的时间. 02/06 17:41
7F:→ HuangJC:因为主管看到程式是休眠了,而不是删除,所以如果有共用部 02/06 17:51
8F:→ HuangJC:份还是有可能省到空间的; 而且推论没文件来得有力... 02/06 17:52
9F:→ HuangJC:在我拿到正式文件网址前,都会被一直追问 XDDD 02/06 17:52
11F:→ atst2:一下Apple的ios开发策略就知道了,如果你主管真的要证据,打 02/06 18:04
12F:→ atst2:开Xcode,秀给他看ios能加的project和target形式有那些就够了 02/06 18:04
那有另一个问题
其实 Xcode 是 Object C++ 环境,它可以把 C++ 混写进去
但这要怎麽做?
在独立文字编辑器上可以用副档名 *.mm 做到,
但在 IDE 里却没有法子 NEW 出来(还是我没找到?)
所以目前我的做法是用 terminal 在命令列产生,再回 IDE加入它
都已经用到命令列了,我就不觉得是 Xcode 想给我用的了
(就像手动修改,Xcode 也可以支援动态连结啊)
(删掉一个失效连结)
13F:推 appleway:Check Apple's doc of "Using Static Libraries in iOS" 02/07 09:58
我对不起楼上大大,没静下心看连结
刚才试着(用自己的想法) statlic link 才发觉,没那麽简单
;;
我接下来的工作是要把在 Android 已经写好的程式移植过来 (java base)
其中蛮多数学运算,也许用 *.mm 的方式混写会比较方便?
有听说其他网友用可以跨 Android, iOS 的开发工具
那我们是不是自找麻烦啊,早该用那个的
※ 编辑: HuangJC 来自: 60.251.197.63 (02/07 14:57)
15F:→ atst2:Xcode内点击.m档案,直接改副档名为.mm就好了 02/07 15:09
※ 编辑: HuangJC 来自: 60.251.197.63 (02/10 23:14)