作者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