作者kome5566 (j3xu.4)
看板EE_DSnP
标题[问题] 64-bit测试
时间Fri Nov 18 23:31:50 2011
传上去compile出现 :
>>>Uncompress succeed.<<<
Cleaning mem...
../Makefile.in:56: .depend.mak: No such file or directory
../Makefile.in:57: .extheader.mak: No such file or directory
Linking external header files...
Making dependencies ...
Cleaning util...
../Makefile.in:56: .depend.mak: No such file or directory
../Makefile.in:57: .extheader.mak: No such file or directory
Linking external header files...
Making dependencies ...
Cleaning main...
../Makefile.in:56: .depend.mak: No such file or directory
../Makefile.in:57: .extheader.mak: No such file or directory
Linking external header files...
Making dependencies ...
main.cpp:9:18: error: util.h: No such file or directory
make[1]: *** [.depend.mak] Error 1
make: *** [clean] Error 2
Checking mem...
make[1]: *** No rule to make target `../../include/util.h', needed by
`memCmd.o'. Stop.
Checking util...
> compiling: myGetChar.cpp
> compiling: myString.cpp
> compiling: util.cpp
Building libutil.a...
Checking main...
> compiling: main.cpp
> building memTest...
/usr/bin/ld: cannot find -lmem
collect2: ld returned 1 exit status
make[1]: *** [../../bin/memTest] Error 1
make: *** [main] Error 2
Checking mem...
> compiling: memCmd.cpp
memMgr.h: In member function 'void MemRecycleList::pushFront(T*) [with T =
MemTestObj]':
memMgr.h:282: instantiated from 'void MemMgr::free(T*) [with T =
MemTestObj]'
memTest.h:27: instantiated from here
memMgr.h:140: warning: casting 'MemTestObj*' to 'MemTestObj&' does not
dereference pointer
memMgr.h: In member function 'bool MemBlock::getMem(size_t, T*&) [with T =
MemTestObj]':
memMgr.h:448: instantiated from 'T* MemMgr::getMem(size_t) [with T =
MemTestObj]'
memMgr.h:267: instantiated from 'T* MemMgr::alloc(size_t) [with T =
MemTestObj]'
memTest.h:27: instantiated from here
memMgr.h:90: warning: comparison between signed and unsigned integer
expressions
> compiling: memTest.cpp
memMgr.h: In member function 'void MemRecycleList::pushFront(T*) [with T =
MemTestObj]':
memMgr.h:282: instantiated from 'void MemMgr::free(T*) [with T =
MemTestObj]'
memTest.h:27: instantiated from here
memMgr.h:140: warning: casting 'MemTestObj*' to 'MemTestObj&' does not
dereference pointer
memMgr.h: In member function 'bool MemBlock::getMem(size_t, T*&) [with T =
MemTestObj]':
memMgr.h:448: instantiated from 'T* MemMgr::getMem(size_t) [with T =
MemTestObj]'
memMgr.h:267: instantiated from 'T* MemMgr::alloc(size_t) [with T =
MemTestObj]'
memTest.h:27: instantiated from here
memMgr.h:90: warning: comparison between signed and unsigned integer
expressions
Building libmem.a...
Checking util...
Checking main...
> building memTest...
Checking mem...
Checking util...
Checking main...
>>>Compile succeed.<<<
奇怪的是有error然後还compile成功 ?
然後看下面do的结果
do1~5 除了 do4 都正确...
do4结果如下:
Dofile: do4
mtest> mtr 0
Illegal block size (0)!!
Illegal option!! (0)
mtest> mtr 39
mtest> mtr 40
mtest> mtn 1
sh: line 1: 32047 Segmentation fault ./memTest -f tests/do4 2>&1
这到底是怎麽回事 ???
我在32-bit run结果是正确的... 我检查很久... 不知道错在哪= =
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.24.22
1F:推 ric2k1:前面关於 .extheaders 等的 warnings 可以不用理他们,但是 11/18 23:44
2F:→ ric2k1:後面那些 warnings 可能还是处理一下比较好。至於你的error 11/18 23:45
3F:→ ric2k1:请注意现在的 mblock size = 40, which is smaller than 11/18 23:46
4F:→ ric2k1:36 + 8... 改一下数字你的 32-bit platform 应该也会 crash 11/18 23:47
5F:→ kome5566:但mtn 1时不是只有36吗? 11/18 23:51
6F:→ kome5566:原来是44... 谢谢老师! 11/19 00:06
7F:推 ric2k1:我看错了... mtn 应该只有 36... 但会被 promote 成 40 11/19 00:50
8F:→ ric2k1:因为要是 8 的倍数 11/19 00:51
9F:推 inferior9527:後来发现是下面 mtn 1 -a 1 造成的... 11/19 13:50