|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
const變量存在ROM里嗎? |
| 作者:sartre 欄目:嵌入式系統(tǒng) |
請問ucOS-II中的MapTbl和unMapTbl |
| 2樓: | >>參與討論 |
| 作者: sartre 于 2005/8/2 7:02:00 發(fā)布:
請問 是存在RAM里還是ROM里? |
|
| 3樓: | >>參與討論 |
| 作者: 小易 于 2005/8/2 11:33:00 發(fā)布:
根據(jù)編譯器不同有所不同 const ANSI是指不可修改的意思。 |
|
| 4樓: | >>參與討論 |
| 作者: sartre 于 2005/8/2 19:23:00 發(fā)布:
code warrior呢 code warrior編譯器呢? 在文檔里沒有找到 |
|
| 5樓: | >>參與討論 |
| 作者: jackymu128 于 2005/8/3 11:28:00 發(fā)布:
RAM里 |
|
| 6樓: | >>參與討論 |
| 作者: lczsx2000 于 2005/8/3 13:03:00 發(fā)布:
存放在代碼段中! 存放在代碼段中,為只讀量.而不是簡單的存放在RAM或ROM中,你用什么存放代碼,它也就跟著存放在哪里! |
|
| 7樓: | >>參與討論 |
| 作者: sartre 于 2005/8/4 8:06:00 發(fā)布:
謝謝 請問哪里有code warrior編譯器的資料。 |
|
| 8樓: | >>參與討論 |
| 作者: 赤鑄 于 2005/8/5 0:25:00 發(fā)布:
按照C語言的正規(guī)理解,const應(yīng)該存放在數(shù)據(jù)段 C語言中,const的唯一作用是限制“顯式”的修改,僅此而已。從存儲本質(zhì)上看,所謂“const”仍然是變量。完全可以(好不好是另一回事)用下面的代碼間接強行篡改const變量的值: const int a; int * p = (int *) &a; *p = 3; const/volatile等都屬于“修飾符”,是設(shè)在最初起點(編譯的語法檢查階段)的很弱的“關(guān)卡”,編譯的代碼生成、存儲器分配、連接、執(zhí)行等階段都假設(shè)“前一道工序已經(jīng)檢查過了,我現(xiàn)在只要當它是普通變量就可以了”(雖然具體編譯器有可能將它與普通變量放在不同的數(shù)據(jù)段,但那沒有實質(zhì)區(qū)別)。 |
|
| 9樓: | >>參與討論 |
| 作者: 溜溜 于 2005/8/5 11:45:00 發(fā)布:
to 樓上, 你這樣的強制修改是很危險的,如果是這個const 變量是放在ROM里面的,那么這樣操作,程序會出事的! |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |