欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

移植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)站建設與網(wǎng)站營銷,提供成都做網(wǎng)站、網(wǎng)站設計、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序設計、公眾號商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設策劃專家,為不同類型的客戶提供良好的互聯(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,通常指的是允許以一種語言編寫的代碼調用另一種語言的代碼。而 “l(fā)ibffi” 庫只提供了最底層的、與架構相關的、完整的“FFI”,因此在它之上必須有一層來負責管理兩種語言之間參數(shù)的格式轉換。
高級語言編譯器產(chǎn)生代碼時都會依據(jù)一系列的規(guī)則,這些規(guī)則十分必要,特別是對獨立編譯來說。其中之一是“調用約定” (Calling Convention),它包含了編譯器關于函數(shù)入口處的函數(shù)參數(shù)、函數(shù)返回值的一系列假設。它有時也被稱作“ABI”(Application Binary Interface)。調用約定(Calling Conventions)定義了程序中調用函數(shù)的方式,它決定了在函數(shù)調用的時候數(shù)據(jù)(比如說參數(shù))在堆棧中的組織方式。
通常來說函數(shù)調用要用到的兩條基本的指令:“CALL”指令和“RET”指令。“CALL”指令將當前的指令指針(這個指針指向緊接在CALL指令后面的那條指令)壓入堆棧,然后執(zhí)行一條無條件轉移指令轉移到新的代碼地址。“RET”是與“CALL”指令配合使用的指令,在絕大多數(shù)函數(shù)中它是最后一條指令。“RET”指令彈出返回地址(就是“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工程的設備IP為x86虛擬機的IP,即可將生成的庫文件導入到x86虛擬機中。至此,則完成了libffi的編譯及上傳。剩下的工作則是通過測試用例測試移植后的libffi庫是否能夠正常運行。

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

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

廣告

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

成都做網(wǎng)站