看板 EE_DSnP 關於我們 聯絡資訊
傳上去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
ric2k1:前面關於 .extheaders 等的 warnings 可以不用理他們,但是 11/18 23:44
ric2k1:後面那些 warnings 可能還是處理一下比較好。至於你的error 11/18 23:45
ric2k1:請注意現在的 mblock size = 40, which is smaller than 11/18 23:46
ric2k1:36 + 8... 改一下數字你的 32-bit platform 應該也會 crash 11/18 23:47
kome5566:但mtn 1時不是只有36嗎? 11/18 23:51
kome5566:原來是44... 謝謝老師! 11/19 00:06
ric2k1:我看錯了... mtn 應該只有 36... 但會被 promote 成 40 11/19 00:50
ric2k1:因為要是 8 的倍數 11/19 00:51
inferior9527:後來發現是下面 mtn 1 -a 1 造成的... 11/19 13:50