成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

移植libffi到SylixOS

1. 開發(fā)環(huán)境
宿主機:Windows 7
集成開發(fā)環(huán)境:Real-Evo IDE 3.2.5
虛擬機:Ubuntu 14.04

成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供成都做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序設(shè)計、公眾號商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。

本篇僅介紹libffi庫的移植過程,包括資源的獲取,工程文件的修改以及編譯出錯處理。移植后的libffi支持ARM、MIPS、PowerPC和x86平臺,本文檔以x86平臺為例進行移植,在完成本文檔的操作步驟后,只需要修改libffi工程所依賴的base工程,然后重新編譯上傳,即可在所支持的平臺上使用libffi庫。

2. libffi簡介

“FFI” 的全名是 Foreign Function Interface,通常指的是允許以一種語言編寫的代碼調(diào)用另一種語言的代碼。而 “l(fā)ibffi” 庫只提供了最底層的、與架構(gòu)相關(guān)的、完整的“FFI”,因此在它之上必須有一層來負責管理兩種語言之間參數(shù)的格式轉(zhuǎn)換。
高級語言編譯器產(chǎn)生代碼時都會依據(jù)一系列的規(guī)則,這些規(guī)則十分必要,特別是對獨立編譯來說。其中之一是“調(diào)用約定” (Calling Convention),它包含了編譯器關(guān)于函數(shù)入口處的函數(shù)參數(shù)、函數(shù)返回值的一系列假設(shè)。它有時也被稱作“ABI”(Application Binary Interface)。調(diào)用約定(Calling Conventions)定義了程序中調(diào)用函數(shù)的方式,它決定了在函數(shù)調(diào)用的時候數(shù)據(jù)(比如說參數(shù))在堆棧中的組織方式。
通常來說函數(shù)調(diào)用要用到的兩條基本的指令:“CALL”指令和“RET”指令。“CALL”指令將當前的指令指針(這個指針指向緊接在CALL指令后面的那條指令)壓入堆棧,然后執(zhí)行一條無條件轉(zhuǎn)移指令轉(zhuǎn)移到新的代碼地址?!癛ET”是與“CALL”指令配合使用的指令,在絕大多數(shù)函數(shù)中它是最后一條指令?!癛ET”指令彈出返回地址(就是“CALL”指令壓入堆棧的地址)并將其加載到“EIP”寄存器中,然后從這個地址開始繼續(xù)執(zhí)行。
3. 資源獲取
3.1 libffi源碼獲取
一般的,可以通過官方網(wǎng)站獲取要移植的第三方件的資源。libffi最新版本的下載地址為https://github.com/libffi/libffi。
本篇中使用的libffi版本為libffi-2.99.9,下載后解壓文件如圖 3-1所示。
移植libffi到SylixOS

圖 5-8 編譯生成libnopoll庫文件
打開x86虛擬機,并配置好libffi工程的設(shè)備IP為x86虛擬機的IP,即可將生成的庫文件導入到x86虛擬機中。至此,則完成了libffi的編譯及上傳。剩下的工作則是通過測試用例測試移植后的libffi庫是否能夠正常運行。

網(wǎng)站標題:移植libffi到SylixOS
網(wǎng)頁路徑:http://jinyejixie.com/article48/ppeeep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、企業(yè)建站做網(wǎng)站、電子商務微信小程序、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
禄劝| 永丰县| 桂林市| 霞浦县| 综艺| 肇源县| 海南省| 苗栗县| 毕节市| 紫云| 岚皋县| 岚皋县| 鹿泉市| 乌鲁木齐市| 紫云| 苗栗县| 佛山市| 洞口县| 常熟市| 兴仁县| 高邮市| 磐石市| 桃园县| 巴彦淖尔市| 曲周县| 兖州市| 昌都县| 临沭县| 简阳市| 台南县| 阿巴嘎旗| 五台县| 桑植县| 昌宁县| 正蓝旗| 富裕县| 福建省| 双鸭山市| 洪江市| 遂平县| 丰镇市|