熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

C51軟復位分析

作者: 時間:2012-07-04 來源:網(wǎng)絡 收藏


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

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

(*K)()



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



由于沒有輸入?yún)?shù),上述復位代碼更嚴謹?shù)膶懛ㄊ牵?BR>
#defineK(((void(*)(void))rst)

(*K)()



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

關于帖子作者的解釋

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

rst==rst[0]

整個函數(shù)指針無所謂參數(shù)傳遞,只是把rst當作程序執(zhí)行地址調用而已,那個學生的解釋也
有問題。

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

哈佛結構和一個蠕蟲病毒

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

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

哈佛結構——程序空間和存儲空間分開的。算是不太嚴格的哈佛結構——雖地址線分
開,但數(shù)據(jù)線沒有分開。DSP是增強的哈佛結構。

PC電腦上奔騰CPU是普林斯頓結構——數(shù)據(jù)空間和程序空間統(tǒng)一編址。


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

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

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

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


關鍵詞: C51 軟復位分析

評論


相關推薦

技術專區(qū)

關閉