作者meanid (meanid)
看板EE_DSnP
标题[问题] getRecycleIdx
时间Mon Nov 21 21:56:24 2011
爬了以前的文 但还是不是很懂
如果说只是要回传_arrSize
但是t如果不是sizeof(T)的整数倍怎麽办?
应该回传哪个_recycleList[]的_arrSize呢?
还是说要像类似toSizeT()一样??
麻烦指教一下 谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.25.108
※ 编辑: meanid 来自: 140.112.25.108 (11/21 21:57)
1F:推 ric2k1:t 的大小要足以包含一个 SIZE_T 的空间存 array size, 以及 11/21 22:13
2F:→ ric2k1:n*S 的空间存 n 个 memTestObjs. 11/21 22:14
3F:→ ric2k1:至於在传给 getRecycleList() 之前要确定他是 SIZE_T的倍数 11/21 22:15
4F:→ ric2k1:应该用 toSizeT() 还是 downtoSizeT() 就看应用的情形罗! 11/21 22:15
5F:推 ric2k1:简单的说 (S = 36) ==> getRecycleList(42) = 1 for 32-bit 11/21 22:16
6F:推 ric2k1:上面推错... 应该是 getRecycleList(40) = 1 11/21 22:17
7F:→ ric2k1: 再一个例子 getRecycleList(184) = 5 for 32-bi 11/21 22:18
8F:→ meanid:谢谢教授!y 11/21 22:58
9F:→ meanid:所以说getRecycleIdx(42) 应该是 2吗(for 32-bit) 11/21 23:58
10F:推 ric2k1:code 里头有 "assert(t % SIZE_T == 0);", 所以要在外面 11/22 00:27
11F:→ ric2k1:就确认传进来的 t 是 SIZE_T 的倍数。所以不应该有42的情况 11/22 00:28
12F:推 yanshencun:所以 getRecycleIdx(64) 要是 1 吗?(for 32-bit) 11/23 01:06
13F:推 ric2k1:getRecycleIdx(64) --> 1 (if S = 36), 但是应该不会有人 11/23 01:14
14F:→ ric2k1:(推错) 请忽略 "但应该... 11/23 01:15