出版時間:2013-1 出版社:國防工業(yè)出版社 作者:蘭雨晴,洪雪玉 著 頁數(shù):240
Tag標(biāo)簽:無
內(nèi)容概要
應(yīng)用系統(tǒng)的開發(fā)、運(yùn)行與部署依賴于所選擇平臺的工具、語言、環(huán)境、開發(fā)技術(shù)、服務(wù)及其兼容的第三方軟件。因此進(jìn)行移植時,需要考慮目標(biāo)平臺對上述因素的支持和實(shí)現(xiàn)情況。具體地,可以從應(yīng)用系統(tǒng)組件、用戶工作環(huán)境、開發(fā)工具/語言/平臺、應(yīng)用開發(fā)技術(shù)等幾個角度整體考慮?!稄膚indows到linux的應(yīng)用移植實(shí)現(xiàn):平臺技術(shù)與接口篇》主要關(guān)注應(yīng)用開發(fā)技術(shù)在Windows平臺和Linux平臺的實(shí)現(xiàn)情況,研究分析網(wǎng)絡(luò)通信、多進(jìn)程侈線程、圖形界面等技術(shù)在兩個平臺的實(shí)現(xiàn)差異性,并提供對應(yīng)的實(shí)現(xiàn)方案?! ≡趦?nèi)容編排上,為了讓讀者對應(yīng)用移植涉及的工作和過程有清晰的認(rèn)識,《從windows到linux的應(yīng)用移植實(shí)現(xiàn):平臺技術(shù)與接口篇》在第一部分定義了應(yīng)用移植過程、主要階段、各階段主要工作、應(yīng)用移植的幾個角度等,然后分為不同的部分,介紹多項(xiàng)應(yīng)用開發(fā)技術(shù)的移植實(shí)現(xiàn)。其中,第二部分從第2章到第5章,介紹基于套接字網(wǎng)絡(luò)通信技術(shù)的應(yīng)用移植實(shí)現(xiàn);第三部分從第6章到第9章,介紹基于并發(fā)多任務(wù)開發(fā)技術(shù)的應(yīng)用移植實(shí)現(xiàn);第四部分從第10章到第12章,介紹圖形用戶界面的應(yīng)用移植實(shí)現(xiàn)。
書籍目錄
第一部分 基本理論 第1章 應(yīng)用系統(tǒng)遷移移植基礎(chǔ) 1.1 必要性分析 1.2 遷移移植原則 1.3 遷移移植過程 1.3.1 過程定義 1.3.2 遷移需求分析 1.3.3 關(guān)鍵技術(shù)遷移設(shè)計(jì) 1.3.4 編碼遷移移植 1.4 平臺差異性與移植對策 1.4.1 應(yīng)用系統(tǒng)組件 1.4.2 用戶工作環(huán)境 1.4.3 開發(fā)工具/語言/平臺 1.4.4 應(yīng)用開發(fā)技術(shù) 1.4.5 本書主要內(nèi)容 第二部分 基于套接字網(wǎng)絡(luò)通信技術(shù)的應(yīng)用系統(tǒng)遷移移植 第2章 可移植性分析 2.1 平臺實(shí)現(xiàn) 2.2 差異性分析 2.2.1 SOCKET數(shù)據(jù)類型 2.2.2 fd set宏定義 2.2.3 錯誤碼 2.2.4 資源限制 2.2.5 函數(shù)名稱 第3章 基本功能遷移移植 3.1 創(chuàng)建和連接 3.1.1 接口差異性 3.1.2 移植實(shí)現(xiàn) 3.2 通信和關(guān)閉 3.2.1 接口差異性 3.2.2 移植實(shí)現(xiàn) 3.3 字節(jié)序 3.3.1 接口差異性 3.3.2 移植實(shí)現(xiàn) 第4章 高級功能遷移移植 4.1 socket選項(xiàng) 4.1.1 接口差異性 4.1.2 移植實(shí)現(xiàn) 4.2 I/O控制 4.2.1 接口差異性 4.2.2 移植實(shí)現(xiàn) 4.3 名稱與地址轉(zhuǎn)換 4.3.1 接口差異性 4.3.2 移植實(shí)現(xiàn) 第5章 I/O模型遷移移植 5.1 模型概述 5.2 異步阻塞 5.2.1 實(shí)現(xiàn)概述 5.2.2 接口差異性 5.2.3 移植實(shí)現(xiàn) 5.3 異步選擇 5.3.1 實(shí)現(xiàn)概述 5.3.2 接口差異性 5.3.3 移植實(shí)現(xiàn) 5.4 事件選擇 5.4.1 實(shí)現(xiàn)概述 5.4.2 接口差異性 5.4.3 移植實(shí)現(xiàn) 5.5 重疊I/O 5.5.1 實(shí)現(xiàn)概述 5.5.2 接口差異性 5.5.3 移植實(shí)現(xiàn) 5.6 完成端口 5.6.1 實(shí)現(xiàn)概述 5.6.2 接口差異性 5.6.3 移植實(shí)現(xiàn) 第三部分 基于并發(fā)多任務(wù)開發(fā)技術(shù)的應(yīng)用系統(tǒng)遷移移植 第6章 可移植性分析 6.1 線程模型 6.2 差異性分析 6.2.1 進(jìn)程創(chuàng)建 6.2.2 線程創(chuàng)建 6.2.3 IPC通信機(jī)制 第7章 進(jìn)程編程遷移移植 7.1 進(jìn)程創(chuàng)建與退出 7.1.1 創(chuàng)建進(jìn)程 7.1.2 進(jìn)程退出 7.2 進(jìn)程控制 7.2.1 終止進(jìn)程 7.2.2 進(jìn)程同步 7.3 進(jìn)程屬性 7.3.1 環(huán)境變量 7.3.2 進(jìn)程優(yōu)先級 7.3.3 當(dāng)前進(jìn)程ID 7.4 移植實(shí)現(xiàn) 第8章 線程編程遷移移植 8.1 線程創(chuàng)建與退出 8.1.1 創(chuàng)建線程 8.1.2 線程退出 8.2 線程控制 8.2.1 終止線程 8.2.2 掛起/恢復(fù)線程 8.2.3 線程同步 8.3 線程屬性 8.3.1 線程優(yōu)先級 8.3.2 線程ID 8.4 線程本地存儲 8.4.1 分配與釋放索引 8.4.2 獲取與設(shè)置數(shù)據(jù) 8.5 移植實(shí)現(xiàn) 第9章 IPC機(jī)制遷移移植 9.1 匿名管道 9.1.1 創(chuàng)建與關(guān)閉 9.1.2 讀寫操作 9.1.3 移植實(shí)現(xiàn) 9.2 內(nèi)存映射文件 9.2.1 創(chuàng)建與關(guān)閉 9.2.2 連接與分離 9.2.3 移植實(shí)現(xiàn) 9.3 郵槽 9.3.1 創(chuàng)建與關(guān)閉 9.3.2 讀寫操作 9.3.3 移植實(shí)現(xiàn) 9.4 互斥鎖 9.4.1 創(chuàng)建與銷毀 9.4.2 加鎖與解鎖 9.4.3 實(shí)現(xiàn) 9.5 信號量 9.5.1 創(chuàng)建與銷毀 9.5.2 獲取與釋放 9.5.3 移植實(shí)現(xiàn) 9.6 事件 9.6.1 創(chuàng)建與銷毀 9.6.2 等待事件 9.6.3 設(shè)置與重置 9.6.4 移植實(shí)現(xiàn) 9.7 臨界區(qū) 9.7.1 初始化與銷毀 9.7.2 進(jìn)入與離開 9.7.3 移植實(shí)現(xiàn) 第四部分 圖形用戶界面遷移移植 第10章 應(yīng)用開發(fā)框架 10.1 框架模式 10.1.1 MFC文檔/視圖 10.1.2 Ot模型/視圖 10.1.3 相關(guān)開發(fā)類 10.2 應(yīng)用類型 10.3 消息響應(yīng)機(jī)制 …… 第11章 圖形繪制基礎(chǔ)設(shè)施 第12章 圖形界面開發(fā)類 參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 2.Linux對應(yīng)接口 Linux共享內(nèi)存的創(chuàng)建/打開操作相比Windows要簡單一些,System V使用shmget()函數(shù)來創(chuàng)建新的或取得已有的共享內(nèi)存。它在Linux系統(tǒng)庫linux/shm.h中的定義是這樣的: #include #include int shmget(key_t key,int size,int shmflg); 參數(shù)key指定了共享內(nèi)存的關(guān)鍵字。第二個參數(shù)size是創(chuàng)建的共享內(nèi)存的大小,以字節(jié)為單位。第三個參數(shù)shmfl9是控制函數(shù)行為的標(biāo)志量。如果操作成功,函數(shù)返回共享內(nèi)存的標(biāo)識符。 而POSlX中調(diào)用函數(shù)shin_open()g建/打開共享內(nèi)存。函數(shù)原型為: #include #include #include int shm_open(const char name,int oflag,mode—t mode); 參數(shù)name指定了將要創(chuàng)建/打開的共享內(nèi)存對象。參數(shù)0fla9用來指定訪問標(biāo)識、創(chuàng)建標(biāo)識和狀態(tài)標(biāo)識等,取值如下:O_RDONLY、O_RDWR、0_CREAT、O_EXCL、O_TRUNC。mode指定了該共享內(nèi)存的權(quán)限。 System V關(guān)閉共享內(nèi)存是通過調(diào)用函數(shù)shmctl()來實(shí)現(xiàn)的,它在Linux系統(tǒng)函數(shù)庫include/linux/shm.h中的函數(shù)聲明是這樣的: #include #include int shmctl(int shmqid,int cmd,struct shmid—ds buf); 其中,參數(shù)shmqid是shmget()函數(shù)返回的共享內(nèi)存標(biāo)識符。第二個參數(shù)cmd是要執(zhí)行的操作,可取的值有:IPC_STAT,表示將buf指向的shmid_ds結(jié)構(gòu)中的數(shù)據(jù)設(shè)置為共享內(nèi)存的當(dāng)前關(guān)聯(lián)值;IPC_SET,表示如果進(jìn)程有足夠的權(quán)限,就把共享內(nèi)存當(dāng)前關(guān)聯(lián)的值設(shè)置為buf指向的結(jié)構(gòu)中的值;IPC_RMID,表示刪除共享內(nèi)存。參數(shù)buf指向一個包含共享內(nèi)存模式和訪問權(quán)限的結(jié)構(gòu)。 需要說明的是,當(dāng)執(zhí)行IPC_RMID操作時,系統(tǒng)并不是立即將其刪除,而只是將其標(biāo)為待刪,然后等待與其連接的進(jìn)程斷開連接。只有當(dāng)所有的連接都斷開以后系統(tǒng)才執(zhí)行真正的刪除操作。當(dāng)然,如果執(zhí)行IPC_RMID的時候沒有任何的連接,刪除操作將會被立即執(zhí)行。 POSIX調(diào)用函數(shù)shm unlink()關(guān)閉共享內(nèi)存。函數(shù)原型為: #include #include #include int shm unlink(const char name); 該函數(shù)類似于unlink(),它根據(jù)參數(shù)name刪除指定共享內(nèi)存對象的連接;當(dāng)所有進(jìn)程都刪除了該共享內(nèi)存對象的連接時,系統(tǒng)將刪除共享內(nèi)存并釋放相應(yīng)的內(nèi)存空間。
編輯推薦
《從Windows到Linux的應(yīng)用移植實(shí)現(xiàn):平臺技術(shù)與接口篇》主要關(guān)注應(yīng)用開發(fā)技術(shù)在Windows平臺和Linux平臺的實(shí)現(xiàn)情況,研究分析網(wǎng)絡(luò)通信、多進(jìn)程侈線程、圖形界面等技術(shù)在兩個平臺的實(shí)現(xiàn)差異性,并提供對應(yīng)的實(shí)現(xiàn)方案。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
從Windows到Linux的應(yīng)用移植實(shí)現(xiàn) PDF格式下載