出版時(shí)間:2013-1 出版社:國(guó)防工業(yè)出版社 作者:蘭雨晴,洪雪玉 著 頁(yè)數(shù):240
Tag標(biāo)簽:無(wú)
內(nèi)容概要
應(yīng)用系統(tǒng)的開(kāi)發(fā)、運(yùn)行與部署依賴(lài)于所選擇平臺(tái)的工具、語(yǔ)言、環(huán)境、開(kāi)發(fā)技術(shù)、服務(wù)及其兼容的第三方軟件。因此進(jìn)行移植時(shí),需要考慮目標(biāo)平臺(tái)對(duì)上述因素的支持和實(shí)現(xiàn)情況。具體地,可以從應(yīng)用系統(tǒng)組件、用戶(hù)工作環(huán)境、開(kāi)發(fā)工具/語(yǔ)言/平臺(tái)、應(yīng)用開(kāi)發(fā)技術(shù)等幾個(gè)角度整體考慮。《從windows到linux的應(yīng)用移植實(shí)現(xiàn):平臺(tái)技術(shù)與接口篇》主要關(guān)注應(yīng)用開(kāi)發(fā)技術(shù)在Windows平臺(tái)和Linux平臺(tái)的實(shí)現(xiàn)情況,研究分析網(wǎng)絡(luò)通信、多進(jìn)程侈線(xiàn)程、圖形界面等技術(shù)在兩個(gè)平臺(tái)的實(shí)現(xiàn)差異性,并提供對(duì)應(yīng)的實(shí)現(xiàn)方案?! ≡趦?nèi)容編排上,為了讓讀者對(duì)應(yīng)用移植涉及的工作和過(guò)程有清晰的認(rèn)識(shí),《從windows到linux的應(yīng)用移植實(shí)現(xiàn):平臺(tái)技術(shù)與接口篇》在第一部分定義了應(yīng)用移植過(guò)程、主要階段、各階段主要工作、應(yīng)用移植的幾個(gè)角度等,然后分為不同的部分,介紹多項(xiàng)應(yīng)用開(kāi)發(fā)技術(shù)的移植實(shí)現(xiàn)。其中,第二部分從第2章到第5章,介紹基于套接字網(wǎng)絡(luò)通信技術(shù)的應(yīng)用移植實(shí)現(xiàn);第三部分從第6章到第9章,介紹基于并發(fā)多任務(wù)開(kāi)發(fā)技術(shù)的應(yīng)用移植實(shí)現(xiàn);第四部分從第10章到第12章,介紹圖形用戶(hù)界面的應(yīng)用移植實(shí)現(xiàn)。
書(shū)籍目錄
第一部分 基本理論 第1章 應(yīng)用系統(tǒng)遷移移植基礎(chǔ) 1.1 必要性分析 1.2 遷移移植原則 1.3 遷移移植過(guò)程 1.3.1 過(guò)程定義 1.3.2 遷移需求分析 1.3.3 關(guān)鍵技術(shù)遷移設(shè)計(jì) 1.3.4 編碼遷移移植 1.4 平臺(tái)差異性與移植對(duì)策 1.4.1 應(yīng)用系統(tǒng)組件 1.4.2 用戶(hù)工作環(huán)境 1.4.3 開(kāi)發(fā)工具/語(yǔ)言/平臺(tái) 1.4.4 應(yīng)用開(kāi)發(fā)技術(shù) 1.4.5 本書(shū)主要內(nèi)容 第二部分 基于套接字網(wǎng)絡(luò)通信技術(shù)的應(yīng)用系統(tǒng)遷移移植 第2章 可移植性分析 2.1 平臺(tái)實(shí)現(xiàn) 2.2 差異性分析 2.2.1 SOCKET數(shù)據(jù)類(lèi)型 2.2.2 fd set宏定義 2.2.3 錯(cuò)誤碼 2.2.4 資源限制 2.2.5 函數(shù)名稱(chēng) 第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章 高級(jí)功能遷移移植 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 名稱(chēng)與地址轉(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ù)開(kāi)發(fā)技術(shù)的應(yīng)用系統(tǒng)遷移移植 第6章 可移植性分析 6.1 線(xiàn)程模型 6.2 差異性分析 6.2.1 進(jìn)程創(chuàng)建 6.2.2 線(xiàn)程創(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)先級(jí) 7.3.3 當(dāng)前進(jìn)程ID 7.4 移植實(shí)現(xiàn) 第8章 線(xiàn)程編程遷移移植 8.1 線(xiàn)程創(chuàng)建與退出 8.1.1 創(chuàng)建線(xiàn)程 8.1.2 線(xiàn)程退出 8.2 線(xiàn)程控制 8.2.1 終止線(xiàn)程 8.2.2 掛起/恢復(fù)線(xiàn)程 8.2.3 線(xiàn)程同步 8.3 線(xiàn)程屬性 8.3.1 線(xiàn)程優(yōu)先級(jí) 8.3.2 線(xiàn)程ID 8.4 線(xiàn)程本地存儲(chǔ) 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 讀寫(xiě)操作 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 讀寫(xiě)操作 9.3.3 移植實(shí)現(xiàn) 9.4 互斥鎖 9.4.1 創(chuàng)建與銷(xiāo)毀 9.4.2 加鎖與解鎖 9.4.3 實(shí)現(xiàn) 9.5 信號(hào)量 9.5.1 創(chuàng)建與銷(xiāo)毀 9.5.2 獲取與釋放 9.5.3 移植實(shí)現(xiàn) 9.6 事件 9.6.1 創(chuàng)建與銷(xiāo)毀 9.6.2 等待事件 9.6.3 設(shè)置與重置 9.6.4 移植實(shí)現(xiàn) 9.7 臨界區(qū) 9.7.1 初始化與銷(xiāo)毀 9.7.2 進(jìn)入與離開(kāi) 9.7.3 移植實(shí)現(xiàn) 第四部分 圖形用戶(hù)界面遷移移植 第10章 應(yīng)用開(kāi)發(fā)框架 10.1 框架模式 10.1.1 MFC文檔/視圖 10.1.2 Ot模型/視圖 10.1.3 相關(guān)開(kāi)發(fā)類(lèi) 10.2 應(yīng)用類(lèi)型 10.3 消息響應(yīng)機(jī)制 …… 第11章 圖形繪制基礎(chǔ)設(shè)施 第12章 圖形界面開(kāi)發(fā)類(lèi) 參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 2.Linux對(duì)應(yīng)接口 Linux共享內(nèi)存的創(chuàng)建/打開(kāi)操作相比Windows要簡(jiǎn)單一些,System V使用shmget()函數(shù)來(lái)創(chuàng)建新的或取得已有的共享內(nèi)存。它在Linux系統(tǒng)庫(kù)linux/shm.h中的定義是這樣的: #include #include int shmget(key_t key,int size,int shmflg); 參數(shù)key指定了共享內(nèi)存的關(guān)鍵字。第二個(gè)參數(shù)size是創(chuàng)建的共享內(nèi)存的大小,以字節(jié)為單位。第三個(gè)參數(shù)shmfl9是控制函數(shù)行為的標(biāo)志量。如果操作成功,函數(shù)返回共享內(nèi)存的標(biāo)識(shí)符。 而POSlX中調(diào)用函數(shù)shin_open()g建/打開(kāi)共享內(nèi)存。函數(shù)原型為: #include #include #include int shm_open(const char name,int oflag,mode—t mode); 參數(shù)name指定了將要?jiǎng)?chuàng)建/打開(kāi)的共享內(nèi)存對(duì)象。參數(shù)0fla9用來(lái)指定訪(fǎng)問(wèn)標(biāo)識(shí)、創(chuàng)建標(biāo)識(shí)和狀態(tài)標(biāo)識(shí)等,取值如下:O_RDONLY、O_RDWR、0_CREAT、O_EXCL、O_TRUNC。mode指定了該共享內(nèi)存的權(quán)限。 System V關(guān)閉共享內(nèi)存是通過(guò)調(diào)用函數(shù)shmctl()來(lái)實(shí)現(xiàn)的,它在Linux系統(tǒng)函數(shù)庫(kù)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í)符。第二個(gè)參數(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指向一個(gè)包含共享內(nèi)存模式和訪(fǎng)問(wèn)權(quán)限的結(jié)構(gòu)。 需要說(shuō)明的是,當(dāng)執(zhí)行IPC_RMID操作時(shí),系統(tǒng)并不是立即將其刪除,而只是將其標(biāo)為待刪,然后等待與其連接的進(jìn)程斷開(kāi)連接。只有當(dāng)所有的連接都斷開(kāi)以后系統(tǒng)才執(zhí)行真正的刪除操作。當(dāng)然,如果執(zhí)行IPC_RMID的時(shí)候沒(méi)有任何的連接,刪除操作將會(huì)被立即執(zhí)行。 POSIX調(diào)用函數(shù)shm unlink()關(guān)閉共享內(nèi)存。函數(shù)原型為: #include #include #include int shm unlink(const char name); 該函數(shù)類(lèi)似于unlink(),它根據(jù)參數(shù)name刪除指定共享內(nèi)存對(duì)象的連接;當(dāng)所有進(jìn)程都刪除了該共享內(nèi)存對(duì)象的連接時(shí),系統(tǒng)將刪除共享內(nèi)存并釋放相應(yīng)的內(nèi)存空間。
編輯推薦
《從Windows到Linux的應(yīng)用移植實(shí)現(xiàn):平臺(tái)技術(shù)與接口篇》主要關(guān)注應(yīng)用開(kāi)發(fā)技術(shù)在Windows平臺(tái)和Linux平臺(tái)的實(shí)現(xiàn)情況,研究分析網(wǎng)絡(luò)通信、多進(jìn)程侈線(xiàn)程、圖形界面等技術(shù)在兩個(gè)平臺(tái)的實(shí)現(xiàn)差異性,并提供對(duì)應(yīng)的實(shí)現(xiàn)方案。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
從Windows到Linux的應(yīng)用移植實(shí)現(xiàn) PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版