看板 EE_DSnP 關於我們 聯絡資訊
如題....其實這個完全是個題外話XD 話說強者我同學辛勤的測他的BUG時候 我突然發現一件很猛的事情 據說我們在new或new[]的時候系統會塞需要的記憶體大小給 size_t t這個變數...所以我們才可以拿著他去getMem去作甚麼有的沒的 那麼...假如今天我們run ./memTest後就下了這個指令 mtn -a 30000 1 恩,憑各位先進的聰明才智一定一眼就看出來: 這個程式一定會叫說"你太小氣了!"嘛,這個array根本比blockSize還大啊 是的,如各位所想,的確會有error message跑出來 可是呢... 我突然想到,以32-bit machine來說 size_t只有4BYTE這麼大...所以他的能力極限應該是2^16 = 65536 所以...他到底怎麼能夠存超過65536的數字的呢囧? 這實在太威了啊!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.108.84
hrs113355:4byte 是 2^32.... 11/25 01:31
a3785lexx:對也...抱歉...那我一直記得int的範圍是32767~-32768 11/25 01:44
a3785lexx:是哪裡來的怪印像......orz 11/25 01:45
a3785lexx:剛剛試了一下...突然想起來教授在myStr2Int的時候就設 11/25 01:45
a3785lexx:下防線了...所以不可能超過size_t的能力XD 11/25 01:46
hrs113355:是因為VB嗎 他的int是2byte XD 11/25 01:49
a3785lexx:有可能XD 國中高中都不知道為甚麼先教VB...XD 11/25 02:10
timrau:其實standard裡只有保證int"至少"要有16-bit 11/25 07:35