[請益] memory aligment
大家好,最近針對對齊部分想進一步了解
在stackoverflow上看到這個問題
The memset_16aligned function requires a 16-byte aligned pointer passed to it,
or it will crash.
a) How would you allocate 1024 bytes of memory, and align it to a 16 byte
boundary?
b) Free the memory after the memset_16aligned has executed.
Ans:
{
void *mem = malloc(1024+15);
void *ptr = ((uintptr_t)mem+15) & ~ (uintptr_t)0x0F;
memset_16aligned(ptr, 0, 1024);
free(mem);
}
==============================
題目有人講意思講的不精確,應該講塞的下1024B且對移16Byte~
我這邊想問兩個問題請教
(1) 為何malloc(1024"+15")? 看網站上是說要確定size足夠
但是1024本身不是已經是足夠的嗎?
(2) ((uintptr_t)mem+15) & ~ (uintptr_t)0x0F;
這部分我有看到wiki也是這樣列公式,但是自己待一些16進位位置還是感覺不大
我自己第一個想法是mem+16 & ~.... , 雖然也是可行
但大家說15就足夠,這部分是為什麼呢?
以上請大家指教 3Q
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.128.79.74 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1604558246.A.579.html
→
11/05 15:00,
5年前
, 1F
11/05 15:00, 1F
→
11/05 15:00,
5年前
, 2F
11/05 15:00, 2F
→
11/05 15:00,
5年前
, 3F
11/05 15:00, 3F
→
11/05 15:19,
5年前
, 4F
11/05 15:19, 4F
推
11/05 15:49,
5年前
, 5F
11/05 15:49, 5F
→
11/05 15:50,
5年前
, 6F
11/05 15:50, 6F
推
11/05 16:13,
5年前
, 7F
11/05 16:13, 7F
→
11/05 16:14,
5年前
, 8F
11/05 16:14, 8F
推
11/05 18:15,
5年前
, 9F
11/05 18:15, 9F
→
11/05 18:17,
5年前
, 10F
11/05 18:17, 10F
→
11/05 18:19,
5年前
, 11F
11/05 18:19, 11F
→
11/05 18:19,
5年前
, 12F
11/05 18:19, 12F
→
11/05 18:19,
5年前
, 13F
11/05 18:19, 13F
→
11/05 18:20,
5年前
, 14F
11/05 18:20, 14F
→
11/05 18:20,
5年前
, 15F
11/05 18:20, 15F
推
11/05 18:27,
5年前
, 16F
11/05 18:27, 16F
→
11/05 18:28,
5年前
, 17F
11/05 18:28, 17F
→
11/05 18:28,
5年前
, 18F
11/05 18:28, 18F
→
11/05 18:29,
5年前
, 19F
11/05 18:29, 19F
→
11/05 18:29,
5年前
, 20F
11/05 18:29, 20F
→
11/05 18:39,
5年前
, 21F
11/05 18:39, 21F
→
11/05 18:39,
5年前
, 22F
11/05 18:39, 22F
推
11/05 18:39,
5年前
, 23F
11/05 18:39, 23F
→
11/05 18:39,
5年前
, 24F
11/05 18:39, 24F
→
11/05 18:40,
5年前
, 25F
11/05 18:40, 25F
→
11/05 18:41,
5年前
, 26F
11/05 18:41, 26F
→
11/05 18:43,
5年前
, 27F
11/05 18:43, 27F
→
11/05 18:45,
5年前
, 28F
11/05 18:45, 28F
推
11/05 18:47,
5年前
, 29F
11/05 18:47, 29F
→
11/05 18:47,
5年前
, 30F
11/05 18:47, 30F
推
11/05 18:51,
5年前
, 31F
11/05 18:51, 31F
推
11/05 19:55,
5年前
, 32F
11/05 19:55, 32F
→
11/05 21:34,
5年前
, 33F
11/05 21:34, 33F
→
11/05 21:34,
5年前
, 34F
11/05 21:34, 34F
推
11/05 22:10,
5年前
, 35F
11/05 22:10, 35F
→
11/05 22:10,
5年前
, 36F
11/05 22:10, 36F
→
11/05 22:11,
5年前
, 37F
11/05 22:11, 37F
→
11/05 22:11,
5年前
, 38F
11/05 22:11, 38F
推
11/05 22:14,
5年前
, 39F
11/05 22:14, 39F
推
11/05 22:25,
5年前
, 40F
11/05 22:25, 40F
→
11/05 22:25,
5年前
, 41F
11/05 22:25, 41F
→
11/05 22:26,
5年前
, 42F
11/05 22:26, 42F
→
11/05 22:26,
5年前
, 43F
11/05 22:26, 43F
→
11/05 22:26,
5年前
, 44F
11/05 22:26, 44F
→
11/05 22:26,
5年前
, 45F
11/05 22:26, 45F
→
11/05 22:27,
5年前
, 46F
11/05 22:27, 46F
推
11/05 22:59,
5年前
, 47F
11/05 22:59, 47F
→
11/05 22:59,
5年前
, 48F
11/05 22:59, 48F
推
11/05 23:00,
5年前
, 49F
11/05 23:00, 49F
推
11/05 23:04,
5年前
, 50F
11/05 23:04, 50F
→
11/05 23:04,
5年前
, 51F
11/05 23:04, 51F
→
11/05 23:04,
5年前
, 52F
11/05 23:04, 52F
→
11/05 23:04,
5年前
, 53F
11/05 23:04, 53F
→
11/05 23:04,
5年前
, 54F
11/05 23:04, 54F
→
11/05 23:04,
5年前
, 55F
11/05 23:04, 55F
→
11/05 23:04,
5年前
, 56F
11/05 23:04, 56F
→
11/05 23:04,
5年前
, 57F
11/05 23:04, 57F
推
11/05 23:06,
5年前
, 58F
11/05 23:06, 58F
→
11/05 23:08,
5年前
, 59F
11/05 23:08, 59F
→
11/05 23:09,
5年前
, 60F
11/05 23:09, 60F
→
11/05 23:09,
5年前
, 61F
11/05 23:09, 61F
→
11/05 23:09,
5年前
, 62F
11/05 23:09, 62F
推
11/05 23:11,
5年前
, 63F
11/05 23:11, 63F
→
11/05 23:11,
5年前
, 64F
11/05 23:11, 64F
推
11/05 23:12,
5年前
, 65F
11/05 23:12, 65F
→
11/05 23:12,
5年前
, 66F
11/05 23:12, 66F
→
11/05 23:14,
5年前
, 67F
11/05 23:14, 67F
推
11/05 23:18,
5年前
, 68F
11/05 23:18, 68F
推
11/06 00:04,
5年前
, 69F
11/06 00:04, 69F
感謝大家熱烈的解答~ 高手真多
不然這部分網路上幾乎都是外國的討論
※ 編輯: suscym (114.137.100.199 臺灣), 11/06/2020 08:52:44
→
11/06 09:51,
5年前
, 70F
11/06 09:51, 70F
→
11/06 09:52,
5年前
, 71F
11/06 09:52, 71F
→
11/06 09:52,
5年前
, 72F
11/06 09:52, 72F
推
11/06 10:11,
5年前
, 73F
11/06 10:11, 73F
→
11/06 10:11,
5年前
, 74F
11/06 10:11, 74F
推
11/06 10:17,
5年前
, 75F
11/06 10:17, 75F
→
11/06 10:17,
5年前
, 76F
11/06 10:17, 76F
推
11/06 13:21,
5年前
, 77F
11/06 13:21, 77F
推
11/06 13:36,
5年前
, 78F
11/06 13:36, 78F
推
11/07 08:47,
5年前
, 79F
11/07 08:47, 79F
推
11/07 11:04,
5年前
, 80F
11/07 11:04, 80F
Soft_Job 近期熱門文章
28
62
PTT職涯區 即時熱門文章