推 descent: 這是什麼的程式碼, 怎麼這麼恐怖 12/09 16:06
→ uranusjr: 可能原 po 湊了三百萬美金要去參加慈善混亂程式王大賽 12/09 16:41
推 BlazarArc: XDDDD 12/09 17:06
推 steve1012: 你這樣很難解釋的具體 只能跟你講他在幹嘛 12/09 17:33
推 Sirctal: 為什麼你要放棄你自己用這種code?? 12/09 17:53
推 j5128709: 腦中閃過...八皇后傳奇 12/09 18:05
→ bigpigbigpig: 這麼多 ** ... 不考慮 typedef 一下嗎 :) 12/10 07:06
→ o07608: *.* 12/11 23:28
推 mibu945: 1. pp指向 p[1]的位址 12/13 00:38
推 mibu945: p[1] 指向 pointer p_cmd_cplt_cback 這callback的位址 12/13 00:41
推 mibu945: 3. pp 跳過一個位址長度 12/13 00:42
→ mibu945: 簡單說 這buffer第0 byte 不知放什 12/13 00:44
→ mibu945: 第1-4(位址如果4byte) byte 放callback 位址 12/13 00:46
→ mibu945: pp 現在指向 第5個 byte 12/13 00:47
→ mibu945: 2 的話 本來要改 p[1] 的值 用 *pp = xxx 就好 12/13 01:00
推 mibu945: 可是 右邊type 是 pointer 所以左邊type 要是 void * 12/13 01:02
→ mibu945: 所以最後左邊 先轉 void** 再取* 12/13 01:03
推 mibu945: 不懂的話 假設右邊不是callback 是uint32_t 12/13 01:05
推 mibu945: 你寫法會變 *(*uint_32)pp = xxxx 12/13 01:07
→ mibu945: 看看你能不能舉一反三理解囉 12/13 01:08