UNIX到Linux的移植

出版時間:2007-4  出版社:機械工業(yè)  作者:門多薩  頁數(shù):450  譯者:張昕  
Tag標(biāo)簽:無  

內(nèi)容概要

本書講述怎樣把UNIX環(huán)境下的應(yīng)用程序移植到Linux環(huán)境上運行,是一本綜合的開發(fā)和解決問題的參考手冊 。本書詳細(xì)描述了當(dāng)前IT行業(yè)中被廣泛應(yīng)用的各種UNIX操作系統(tǒng)間的區(qū)別,其內(nèi)容包括項目移植思考、調(diào)查、分析、移植Solaris應(yīng)用程序、移植AIX應(yīng)用程序、移植HP-UX應(yīng)用程序、測試和調(diào)試。它的讀者對象包括開發(fā)人員、應(yīng)用程序架構(gòu)師以及項目經(jīng)理。本書的內(nèi)容包括:	理解Linux環(huán)境: GNU二進制工具、Java環(huán)境、shell、打包工具等。	揭示并確定項目的未知因素、可變因素及其他風(fēng)險。	處理具體平臺的區(qū)別:標(biāo)準(zhǔn)、編譯器、鏈接器、版本化、系統(tǒng)/庫調(diào)用、線程等。	使用GNU調(diào)試器及Linux內(nèi)存泄露和性能跟蹤工具測試和調(diào)試移植后的應(yīng)用程序。	包含了UNIX和Linux上API、編譯器和鏈接器選項的快速索引,以及IBM POWER結(jié)構(gòu)特有的移植問題。

作者簡介

本書的三位作者是IBM最有經(jīng)驗的Linux移植專家,他們將帶領(lǐng)你走完整個項目移植過程:調(diào)查﹑分析﹑移植和測試。他們給出了一個從開始到完成的移植方法,對關(guān)鍵任務(wù)的切實討論,以及評估新項目時用到的問卷。按照本書的方法,你可以發(fā)現(xiàn)Linux在API、庫函數(shù)、版本化、系統(tǒng)特性和

書籍目錄

1	移植項目思考	191.1	軟件程序商業(yè)過程	191.2	移植過程	201.2.1	調(diào)查	201.2.2	分析	211.2.3	移植	211.2.4	測試	221.2.5	支持	221.3	定義項目范圍和目標(biāo)	221.4	估計	241.4.1	技能水平和移植經(jīng)驗	241.4.2	編譯器	251.4.3	第三方軟件和中間件的可用性	251.4.4	編譯環(huán)境和工具	251.4.5	平臺依賴的結(jié)構(gòu)	261.4.6	平臺/硬件依賴的代碼	261.4.7	搭建測試環(huán)境	261.4.8	用戶接口需求	271.5	創(chuàng)建項目移植進度表	281.6	從商業(yè)角度看移植過程	281.7	帶注解的技術(shù)調(diào)查問卷樣例	291.7.1	平臺相關(guān)的內(nèi)容	291.7.2	應(yīng)用程序相關(guān)的內(nèi)容	291.7.3	數(shù)據(jù)庫內(nèi)容	311.7.4	項目移植時間進度內(nèi)容	321.7.5	測試相關(guān)的內(nèi)容	321.7.6	項目移植的執(zhí)行內(nèi)容	331.8	小結(jié)	332	調(diào)查	342.1	編譯器	342.1.1	GNU gcc C編譯器	342.1.2	GNU g++ (C++)編譯器	352.1.3	GNU g77 FORTRAN編譯器	362.1.4	GNU Java編譯器(注釋8)	372.1.5	GNU COBOL	372.1.6	其他編譯器	372.2	Java環(huán)境	382.3	編譯環(huán)境	382.3.1	gmake	382.3.2	GNU二進制工具(binutils)	392.3.2.1	GNU ld	392.3.3	GNU as	392.3.4	集成開發(fā)環(huán)境	412.4	Linux Shell	412.5	打包	422.5.1	用RPM打包應(yīng)用程序	422.5.2	RPM的基本用法	432.5.2.1	rpm -i	432.5.2.2	rpm -e	432.5.2.3	rpm -U	442.5.2.4	rpm -q	442.5.2.5	rpm -V	442.5.3	LSB(Linux Standard Base)推薦的基準(zhǔn)打包格式	442.6	項目管理任務(wù)	442.7	小結(jié)	463	分析	473.1	Linux標(biāo)準(zhǔn)	473.2	GNU libc庫	483.2.1	glibc遵循的標(biāo)準(zhǔn)	493.3	GNU科學(xué)庫	503.4	共享庫	513.5	庫版本化(注釋8,9)	513.5.1	外部庫版本化	513.5.2	符號版本化	533.6	動態(tài)鏈接器(運行時鏈接器)	563.6.1	編程接口	573.6.2	延遲重定位(Lazy Relocation)	573.6.3	初始化(initializing)和終止化(finalizing)函數(shù)	583.7	系統(tǒng)調(diào)用	583.8	大頁面支持	593.9	Native POSIX線程庫(Native POSIX Threads Library,簡寫作NPTL)	603.9.1	最大線程數(shù)	613.10	國際化(I18N)(注釋18)和本地化	613.10.1	iconv支持	633.10.2	如何創(chuàng)建消息目錄(message catalog)(注釋19)	633.11	大小端(Big/Little-Endian,也叫字節(jié)序)環(huán)境	643.12	從32位移植到64位	653.12.1	常見的移植錯誤	663.12.2	最優(yōu)方法	673.13	小結(jié)	674	移植Solaris應(yīng)用程序	684.1	準(zhǔn)備工作	684.1.1	搭建移植系統(tǒng)	684.1.2	搭建代碼修改管理系統(tǒng)	694.1.3	搭建編譯系統(tǒng)	694.2	常見的區(qū)別	694.2.1	C語言	704.2.2	C++語言	704.2.3	GNU C/C++語言	704.2.4	Java語言	714.2.5	線程	714.2.6	所支持的標(biāo)準(zhǔn)之間的比較	714.3	編譯器	724.3.1	C編譯器	724.3.2	C編譯器選項	724.3.3	C++編譯器選項	824.3.4	GNU g++的模板實例化	924.3.5	編譯32位或64位目標(biāo)文件	924.3.6	編譯器的優(yōu)化和性能選項	924.3.7	Linux平臺上的命名空間選擇	934.4	鏈接器	944.4.1	輸出映射	994.4.2	鏈接器工具	994.4.3	共享庫	1004.4.4	庫版本化	1004.4.5	動態(tài)鏈接器(運行時鏈接器)	1014.5	移植shell腳本到Linux	1014.6	國際化和本地化	1024.7	Make	1024.7.1	為C++語言內(nèi)建的Makefile變量	1044.7.2	庫依賴	1044.7.3	空規(guī)則	1044.7.4	當(dāng)前目標(biāo)	1044.7.5	SCCS和RCS文件	1054.7.6	有條件地給宏賦值	1054.7.7	模式替換宏的引用	1054.7.8	VPATH	1054.7.9	命令執(zhí)行	1064.7.10	特殊目標(biāo)	1064.7.11	環(huán)境變量	1074.7.12	退出狀態(tài)	1074.8	調(diào)試器	1084.9	線程	1084.9.1	Solaris libthread與Linux libpthread	1084.9.2	Solaris libpthread與Linux libpthread	1104.9.3	取消點(Cancellation Points)	1134.9.4	C++異常和Linux線程	1144.10	信號	1154.10.1	信號動作(Actions)	1164.10.2	簡單信號	1164.10.3	Linux的信號支持	1174.10.4	POSIX信號捕獲函數(shù)	1194.10.5	信號集	1204.10.6	信號信息	1204.10.7	kill()	1224.11	系統(tǒng)調(diào)用	1224.11.1	open()	1224.11.2	fcntl()	1244.11.3	dirent	1264.11.4	CPU親和性(Affinity)	1274.11.5	fork()	1274.12	系統(tǒng)庫	1274.13	Solaris和Linux API	1284.13.1	內(nèi)存管理	1284.13.2	進程間通信(Interprocess Communication, IPC)	1294.13.3	內(nèi)存布置優(yōu)化(Memory Placement Optimization, 簡寫作MPO)	1344.13.4	vfstab	1344.13.5	posix_spawn()和posix_spwawnp()	1344.13.6	plock()	1354.13.7	waitpid()	1354.14	科學(xué)庫	1364.15	大頁面支持	1364.16	Solaris上的一些不可移植的編程用法	1374.17	小結(jié)	1375	移植AIX應(yīng)用程序	1395.1	準(zhǔn)本工作	1395.1.1	搭建移植系統(tǒng)	1395.1.2	搭建代碼修改管理系統(tǒng)	1405.1.3	搭建編譯系統(tǒng)	1405.2	常見的區(qū)別	1405.2.1	C語言	1415.2.2	C++語言	1415.2.3	GNU C/C++語言	1415.2.4	Java語言	1415.2.5	線程	1415.2.6	所支持的標(biāo)準(zhǔn)之間的比較	1425.3	編譯器	1435.3.1	調(diào)用編譯器	1445.4	Make	1535.4.1	gmake條件分支語句	1545.5	鏈接器	1545.5.1	鏈接器的不兼容性	1545.5.2	鏈接器:從AIX移植到Linux參考手冊	1565.6	AIX和Linux創(chuàng)建共享庫的比較	1575.7	動態(tài)裝載	1575.8	AIX和Linux上模板實例化的區(qū)別	1585.8.1	使用#pragma或#include	1595.8.2	GNU中其他可用的模板選項	1605.9	C++filt工具	1605.10	系統(tǒng)API:AIX/Linux	1615.10.1	AIX/Linux I/O系統(tǒng)API	1615.11	部分AIX/Linux系統(tǒng)API之間的比較	1675.11.1	getfsent(), getfsfile(), getfstype(), getfsspec()	1675.11.2	ioctl()	1685.11.3	read(),write()	1695.11.4	confstr()	1715.11.5	opendir()	1715.11.6	readdir()	1725.11.7	fcntl()	1725.11.8	llseek(), lseek(), lseek64()	1775.11.9	uname()	1785.11.10	syslog(), closelog(), openlog()	1795.11.11	swapoff(), swapon()	1795.11.12	acct()	1805.11.13	mmap(), mmap64()(注釋17), munmap()	1815.11.14	pread(),pwrite()	1845.11.15	stat(), lstat(), fstat()	1855.11.16	ptrace()	1855.11.17	setgid(), setregid()	1875.11.18	sync()	1885.11.19	wait3(), wait4()	1895.11.20	getcwd()	1905.11.21	mount(), umount, vmount()	1915.11.22	readv(), writev()	1945.11.23	select()	1955.11.24	reboot()	1965.11.25	chroot()	1985.11.26	fstatfs(),statfs()	1995.11.27	poll()	2005.11.28	quotactl()	2015.12	AIX上的一些非標(biāo)準(zhǔn)的編程用法	2045.13	信號	2055.13.1	信號動作	2055.13.2	簡單信號	2055.14	網(wǎng)絡(luò)編程	2105.15	進程間通信(Interprocess Communication,簡寫作IPC)	2115.15.1	信號量	2115.15.2	系統(tǒng)V信號量集	2135.15.3	消息隊列(mqueue.h)	2135.15.4	共享內(nèi)存	2155.16	POSIX線程	2175.16.1	Linux和AIX的線程模型比較	2175.16.2	內(nèi)核空間線程	2175.16.3	用戶空間線程	2185.16.4	AIX和Linux POSIX線程交叉對比	2185.17	大頁面支持	2215.18	通用API	2215.19	小結(jié)	2226	移植HP-UX應(yīng)用程序	2246.1	準(zhǔn)備工作	2246.1.1	搭建移植系統(tǒng)	2246.1.2	搭建代碼修改管理系統(tǒng)	2256.1.3	搭建編譯環(huán)境	2256.2	常見的區(qū)別	2256.2.1	C語言	2266.2.2	C++語言	2266.2.3	GNU C/C++語言	2266.2.4	Java語言	2266.2.5	線程	2266.2.6	所支持標(biāo)準(zhǔn)之間的比較	2276.3	編譯器	2286.3.1	C編譯器選項	2296.3.2	C++編譯器選項	2326.3.3	GNU g++的模板實例化	2356.3.4	編譯32/64位二進制程序	2366.3.5	編譯器優(yōu)化和性能選項	2366.3.6	使用GNU進行移植和編譯	2386.3.7	Linux平臺上的命名空間選擇	2386.4	鏈接器(注釋21)	2396.4.1	輸出映射(export map)	2406.4.2	鏈接器工具	2406.5	庫版本化	2416.5.1	HP-UX上的庫版本化	2416.5.2	Linux上的庫版本化(注釋24)	2426.6	動態(tài)鏈接和共享庫	2426.6.1	GNU libtool	2446.7	移植shell腳本到Linux	2446.8	國際化(I18N)(注釋26)	2456.8.1	iconv支持和消息目錄(message catalog)	2476.9	軟件開發(fā)工具	2476.9.1	Makefile語法	2486.9.2	調(diào)試器	2506.10	線程	2506.10.1	HP-UX和Linux上的線程支持	2516.10.2	HP-UX DCE和POSIX線程的區(qū)別	2546.10.3	調(diào)試Linux線程	2566.10.4	C++異常和Linux線程	2586.10.5	鏈接線程安全的庫	2606.11	信號	2606.11.1	信號動作(Acitions)	2606.11.2	簡單信號	2616.11.3	信號發(fā)送	2626.11.4	Linux的信號支持	2626.11.5	POSIX信號捕獲函數(shù)	2636.11.6	信號信息	2636.11.7	信號缺省動作	2656.12	HP-UX上的系統(tǒng)調(diào)用和Linux上的對應(yīng)調(diào)用	2676.12.1	檢查POSIX API支持	2676.12.2	檢查Linux內(nèi)核版本	2716.13	系統(tǒng)庫	2726.14	GNU科學(xué)庫	2736.15	HP-UX和Linux API	2746.15.1	glibc版本	2746.15.2	glibc遵循的標(biāo)準(zhǔn)	2746.15.3	HP-UX上的一些不可移植的編程用法	2756.16	進程間通信	2756.16.1	管道	2756.16.2	FIFO	2766.16.3	POSIX消息隊列	2766.16.4	POSIX信號量	2776.16.5	POSIX共享內(nèi)存	2786.16.6	系統(tǒng)V共享內(nèi)存	2786.16.7	系統(tǒng)V消息	2796.16.8	系統(tǒng)V信號量	2796.17	小結(jié)	2807	測試和調(diào)試	2817.1	使用GNU調(diào)試器	2827.1.1	編譯可以使用GDB的程序	2827.1.2	調(diào)用GDB	2827.1.3	GDB基本命令	2837.1.4	調(diào)試多進程	2837.1.5	調(diào)試多線程應(yīng)用程序	2847.1.6	停止多線程程序	2857.1.7	GDB初始化文件	2867.1.8	GDB和信號	2867.1.9	GDB的圖形化前端(front end)	2887.2	strace和ltrace	2887.3	cscope工具	2887.3.1	Vim和cscope	2897.4	glibc調(diào)試支持	2907.5	內(nèi)存調(diào)試工具	2917.5.1	Electric Fence	2917.5.2	GNU/Linux mtrace, mcheck, MALLOC_CHECK	2927.5.3	Mpatrol	2927.5.4	dmalloc	2927.5.5	valgrind	2937.5.6	Rational Purefy	2937.5.7	Insure++	2947.6	靜態(tài)程序檢查器	2947.6.1	Splint	2947.6.2	CodeSonar	2947.7	線程跟蹤工具	2957.8	性能監(jiān)測工具	2957.8.1	內(nèi)部視角	2957.8.2	外部視角	2997.8.3	其他工具	3027.9	小結(jié)	303F.3 編譯和鏈接	414《表F-3》670 控制和優(yōu)化棧增長的編譯器選項	415F.3.2 匯編代碼	415F.3.3 ??蚣芙Y(jié)構(gòu)和鏈接	415F.3.4 預(yù)先定義的符號	416F.3.5 調(diào)試	416F.4 字節(jié)序	416F.5 其他區(qū)別	416F.5.1 ASCII和EBCDIC問題	416F.5.2 cpuinfo的格式	417F.6 變參列表	417F.7 從哪兒可以獲取更多信息	417F.8 致謝	417G.1 打包任務(wù)	418G.2 安裝和升級任務(wù)	418G.3 用戶管理任務(wù)	420G.4 網(wǎng)絡(luò)管理和配置	420G.5 NFS管理和配置	421G.6 管理系統(tǒng)資源	422G.7 磁盤和文件系統(tǒng)管理	422G.8 交換分區(qū)管理	423G.9 邏輯卷管理	423G.10 常用的解決錯誤的方法	425G.11 網(wǎng)絡(luò)問題解決方法	427G.12 配置文件及其他文件	427G.13 可比較的命令	428

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    UNIX到Linux的移植 PDF格式下載


用戶評論 (總計1條)

 
 

  •   沒啥價值,都是比較粗淺的入門的知識
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7