上述的意思就是:【有一塊記憶體叫var,它的型態是int】,這個根基邏輯知道後,就可以解答前面的問題了 翻譯社
怎麼用呢?以上面誰人多國語言字型為例,一般來講,字型資料是點矩陣資料,一定是放在FLASH內,所以要寫出一個embedded程式可以自由節制變數該放哪裡,要會做這些瑣事,不要過度依靠compiler預設動作,那是不行靠 翻譯,乃至是兩顆星星以上 翻譯pointer都要會,連void*也要會。
const int * const p4;
假定此時用一個16bit address的cpu,有RAM,有FLASH,假設int是指16bit變數,const是指FLASH 翻譯空間,注意這不是絕對。 (3)這【整個器材】是int (2)這【全部東西】是pointer...(3) p3會放在【FLASH】內,它指到的某個【16bit】的地方,阿誰處所是【RAM】。 可以想想看,若是字型資料是放在NAND FLASH,HDD,甚至是SD CARD中,那該怎麼辦呢? (2)這【整個工具】是int...(3) 解決這個問題前,先知道一下C說話 翻譯定名邏輯,若是我沒有記錯,C說話是【前面的】形容【後面的】,【後面的優先被compiler處置懲罰】,例如: p1 翻譯公司p2,p3事實不同在哪裡呢?這個處所課本也不太講,網路上也有一些奇怪 翻譯解釋,我的紛歧定對,只是一個看法而已 翻譯社 (1)這【全部東西】是pointer,p1預設放在RAM...(2)。-> 翻譯社|,-> 翻譯公司|的-> 翻譯 有一塊記憶體叫p1。....(1) 有一塊記憶體叫p2。....(1) 以一個沒有希奇設定 翻譯compiler來講 (2)這【全部器材】是const...(3) p1會放在【RAM】內,它指到某個【16bit】的處所,誰人地方在【FLASH】。 【int const * const p5】,所以p5功能同p4。 有一塊記憶體叫p3 翻譯社....(1) int var; 另外當一顆星星(pointer)呈現的時刻,還沒有特殊告知compiler型態,此時就會以預設值替換,一般來講【預設值是ram】,注重有些cpu比較複雜,就不會只有ram這樣純真,可能是internal sram、external 16bit ram或是external sdram這些比較複雜 翻譯可能性發生 翻譯社 知道是什麼意思了吧!p4會放在FLASH內,它指到的某個16bit的處所,誰人處所是flash。 (3)這【全部工具】是int 注意【整個工具】,例如(3)式,它的所謂全部器材,是包括(2)(1) 翻譯,其餘類推。 int * const p3; 所以看一下另外一個宣佈: p2會放在【RAM】內,它指到【FLASH】內 翻譯某個地方,誰人地方是【16bit】。
留言列表