日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux函數(shù)CHM:靈活的程序調(diào)用方式(linux函數(shù)chm)

linux 函數(shù) CHM 是一種靈活的程序調(diào)用方式,它是一種特殊的指令格式,主要用于 Linux 內(nèi)核中調(diào)用函數(shù)的重新實現(xiàn),或者進(jìn)行模塊調(diào)試等應(yīng)用。CHM 也可以作為類似 JNI 的外部接口,從 Java 代碼中調(diào)用 C 語言庫函數(shù),甚至可以用于運行 ASM 代碼操縱內(nèi)存。

CHM所使用的指令格式為:

call funcname@plt

call 指令后跟函數(shù)名稱,其中@plt表示它們所屬于的 PLT 節(jié)(程序鏈接表), PLT 節(jié)會跳轉(zhuǎn)到 DYNAMIC 節(jié)存放在內(nèi)存中函數(shù)地址。CHM 同樣適用于函數(shù)到相關(guān)回調(diào)的調(diào)用。

下面是一個示例,通過 CHM 調(diào)用 func1 函數(shù):

call func1@plt

在這種情況下,程序會自動跳轉(zhuǎn)到 func1。當(dāng)函數(shù)的參數(shù)確定時,就可以調(diào)用 CHM 了,它會將參數(shù)放到棧中,函數(shù)返回值會放到 eax 寄存器中,函數(shù)返回后會執(zhí)行 sub esp,將棧指針 esp 減小。

在某種程度上,使用 CHM 來調(diào)用函數(shù)可以性能獲取收益,因為每次調(diào)用函數(shù)時不需要重新定位;另外,不會產(chǎn)生額外的開銷,因為不需要使用相關(guān)的指令。

最后,CHM 函數(shù)的調(diào)用方式非常靈活,并且可以滿足大多數(shù)功能的需求,因此在 Linux 內(nèi)核編程中使用 CHM 是一個不錯的選擇。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


網(wǎng)站標(biāo)題:Linux函數(shù)CHM:靈活的程序調(diào)用方式(linux函數(shù)chm)
文章來源:http://www.5511xx.com/article/djcgogp.html