<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > C51軟復位分析

C51軟復位分析

作者: 時(shí)間:2012-07-04 來(lái)源:網(wǎng)絡(luò ) 收藏


這樣的語(yǔ)句就完成復位再啟功能了。類(lèi)型轉換符()的優(yōu)先級跟指針運算符*的優(yōu)先級相同,
二者的結合方向是自右至左,所以上述語(yǔ)句就能完成復位功能了。保險起見(jiàn)有些程序員常
常喜歡再加個(gè)括號:

#defineK(((void(*)())rst)

(*K)()



(*((void(*)())rst))();



由于沒(méi)有輸入參數,上述復位代碼更嚴謹的寫(xiě)法是:

#defineK(((void(*)(void))rst)

(*K)()



(*((void(*)(void))rst))();

關(guān)于帖子作者的解釋

千萬(wàn)不要犯“rst”形式的錯誤,對于一維數組而言,數組名rst就代表地址。以下二者等
價(jià),更常用的是等式左邊的形式:

rst==rst[0]

整個(gè)函數指針無(wú)所謂參數傳遞,只是把rst當作程序執行地址調用而已,那個(gè)學(xué)生的解釋也
有問(wèn)題。

還有一點(diǎn)必須提及,不是說(shuō)能通過(guò)編譯,甚至生成正確代碼,就表示某語(yǔ)句一定是對的。
對很復雜的語(yǔ)句,要考慮到編譯器不嚴格甚至出錯的可能性。

哈佛結構和一個(gè)蠕蟲(chóng)病毒

請注意,定義數組rst[]時(shí)用了關(guān)鍵字code,這是特有的關(guān)鍵字,意味著(zhù)把數組定義到
程序空間。標準C是沒(méi)有關(guān)鍵字code的。

哈佛結構和普林斯頓結構:

哈佛結構——程序空間和存儲空間分開(kāi)的。算是不太嚴格的哈佛結構——雖地址線(xiàn)分
開(kāi),但數據線(xiàn)沒(méi)有分開(kāi)。DSP是增強的哈佛結構。

PC電腦上奔騰CPU是普林斯頓結構——數據空間和程序空間統一編址。


如果數組rst[]數據的匯編機器碼是刪除文件的機器碼,這算不算是病毒?

曾經(jīng)流行過(guò)一種蠕蟲(chóng)病毒,其發(fā)作機理采取的就是將惡意代碼保存成文本文件,然后通過(guò)
指針調用執行這個(gè)文本,很多殺毒程序也不會(huì )查詢(xún)文本文件。

程序也罷,數據也罷都是二進(jìn)制形式,如果數據空間和程序空間是統一編碼的,數據當然
可以當作程序運行。

在這一點(diǎn)上,相對而言,哈佛結構的CPU安全性會(huì )好一點(diǎn)點(diǎn)。但嵌入式應用少有病毒,一般
不用關(guān)心。


關(guān)鍵詞: C51 軟復位分析

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>