作者victoret (戲言~)
看板EE_DSnP
標題[問題] Dlist 的 adta -r
時間Mon Nov 28 14:11:14 2011
關於這個 bug...個人 de 了大老半天
(至少花了超過三四個小時有吧ˊˋ)
最後發現有一個共通性...
就是
版本的不同啊啊啊!!!
簡言之,就是 Ubuntu 11.10 的版本測出來的第一個 element 是 vkuux
用 11.04 的話第一個 element 就會是 fitho
目前個人只測過四臺電腦(兩個是 11.04,兩個是 11.10)
要不然可能是...g++ 的問題
因為有這個問題的 g++ 是版本 4.6.1
沒出問題的版本是 4.5.2...
想請請問一下有出這個問題的各位...
Ubuntu 或 g++ 的版本是不是跟我的一樣?!
(在終端機輸入 g++ --version 就可以看到 g++ 的版本)
BTW make 的版本都一樣,都是 3.8.1
感謝!!!
==============================================================================
測試過程:
1. 確認 AdtTestObj 的 constructor 叫了幾次,這個部分用 cout 大法,沒問題。
2. 確認 AdtTestObj 的 constructor 裡面產生的 _str,發現 _str 確實是產生了兩次
vkuux。
3. 接下來是直接在 AdtTestObj 的 constructor 裡面直接多產生 5 個 rnGen,這時候
會發現,在產生第一個 element 的時候,rnGen 似乎重新開始取樣。
====== 最後在實在無法靠自己解決這個問題ˊˋ...只好跟別人借 code 來看 ======
4. 直接把沒出這個問題的 dlist.h 丟到自己的 util 裡面,結果發現第一個 element
還是 vkuux。
5. 為了確認是否是 hw5 更新的關係,把 lib 換回以前的,甚至直接從原本的壓縮檔直
接解壓縮,再把 dlist.h (無論正常與否)丟進去,出來的第一個 element 都是
vkuux。
=========================== 實在是完全放棄之後... ===========================
6. 直接把自己有問題的 dlist.h 丟到同學的電腦裡面去測,發現完全沒問題?!
7. 經過比對其他有這個問題的人(其實也才一個ˊˋ)之後發現,唯一的不同點似乎是
出在版本的不同:Ubuntu 或 G++ 的版本差異。
==============================================================================
給直接 End 的...
可以幫忙看一下 Ubuntu 或 g++ 的版本,和是否出現這個問題嗎???
(要看 g++ 的版本,在終端機輸入 g++ --version 就會出現了)
謝謝!!!
--
以上,純屬戲言
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.25.108
1F:推 ric2k1:辛苦了,我們這邊可以做到的就是讓批改不會是 platform 11/28 14:26
2F:→ ric2k1:dependent! 11/28 14:26
3F:推 e124553423:ubuntu 11.10, g++ 4.6.1, first element vkuux. 11/28 15:56
4F:→ e124553423:推一個 11/28 15:57
5F:推 ha531102:g++ 4.6.1 / Ubuntu 11.10 情況也和你一樣第一個是vkuux 11/29 16:57
6F:推 rf0914:ubuntu 11.10 g++ 4.6.1 第一個是 vkuux 11/29 17:56
7F:推 rf0914:ubuntu 10.04 g++ 4.4.3 第一個是 fitho 同樣的code 11/29 18:09
8F:推 AlexCYW:我是fitho 然後我發現vkuux好像是head的data 11/30 16:06
9F:推 AlexCYW:補充 ubuntu 10.10 g++ 4.4.5 11/30 16:13
10F:→ victoret:不論哪個版本,_head 裡存的 _data 都是 vkuux 沒錯 11/30 23:26
11F:推 ericswatch:ubuntu 11.10, g++ 4.6.1, first element vkuux. 12/02 09:48