[軟體] 不知道這是不是Xcode4的bug?
※ [本文轉錄自 MAC 看板 #1D-a_BzE ]
作者: philip (--以上為智障名單) 看板: MAC
標題: [軟體] 不知道這是不是Xcode4的bug?
時間: Fri Jun 17 02:47:33 2011
不知道這是bug,抑或是xcode user中眾所皆知的常識?
總之main function的argument裡頭只要有單字元,
在某些狀況下就會和後面的參數合併,
某些狀況下卻又不會,
原因不詳...
也有可能是我跟xcode還不熟的原因
----下面是我做的一些小測試,若是知道原因就不用往下看了,因為很無聊----
我用xcode 4寫了一個要吃12個參數C++程式,,直接用g++ compile後跑結果是正確的,
但是用Xcode 來run就會出錯,後來我發現原因是Xcode會抓錯參數。
我的參數是
8096 1024 0 8096 1024 0 8096 1024 1 8096 1024 1 一共12組
設定的方式在xcode4的Product->Edit Scheme
(如圖 http://min.us/mb3QKW6G9asfv )
但是跑parse出來的結果,第9和第10會合併
8096 1024 0 8096 1024 0 8096 1024 18096 1024 1
這時候我把第九個參數由1改成11,結果就正確了,
當下我就想有可能是xcode可能是直接呼叫console跑結果,
然後參數太多剛好切到換行之類的問題,但是我想xcode不至於這麼陽春吧...
而且理論上換行也不會出任何問題才是,於是我又試探性的把1改成2,
神奇的狀況出現,竟然parse正確了!
結果又變成下面的樣子,這應該就跟甚麼換行不換行沒有關係了吧?
8096 1024 0 8096 1024 0 8096 1024 2 8096 1024 1
最後我在想有可能是參數太多的關係,於是我把最後一個參數砍掉,
把第九個參數改回1,出來的結果就正常如下:
8096 1024 0 8096 1024 0 8096 1024 1 8096 1024
為了確定真的是太長的關係,我又嘗試著把12個參數加上第13個參數9999,
結果又正常了,
8096 1024 0 8096 1024 0 8096 1024 1 8096 1024 1 9999
玩到這了我覺得1這個參數真的蠻神奇的,
於是我把上例的9999改成1,
結果竟然變成:
8096 1024 0 8096 1024 0 8096 1024 18096 1024 11
1又去跟後面的參數合併了
最後的解決方式是我把每個1後面都加上一組"\+space"
截至目前為止,完全正常,真是神奇的1啊。
但是只有1出問題,2竟然正常也是很詭異的事情,
於是我把所有的1改成2,跑下去之後...果然也發生錯誤了,
但是錯誤的方式和1錯誤的方式不一樣!!
也就是說我輸入
8096 1024 0 8096 1024 0 8096 1024 2 8096 1024 1
出來的的結果是
8096 1024 0 8096 1024 0 8096 1024 2 8096 1024 1
一切正常(這也是之前就做過的實驗)
但是再我輸入
8096 1024 0 8096 1024 0 8096 1024 2 8096 1024 2
出來的結果竟然又是很詭異的狀況如下...
8096 1024 0 8096 1024 0 8096 1024 28096 1024 2
我到這裡我就投降了,不想再try下去-_-
這算bug嗎?
--
我達達的引擎聲是個美麗的錯誤
我不是歸人
是個台客
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.51.220
※ 編輯: philip 來自: 118.166.51.220 (06/17 02:49)
推
06/17 03:57,
06/17 03:57
推
06/17 04:04,
06/17 04:04
→
06/17 08:06,
06/17 08:06
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.51.220
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章