日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

從Windows的角度看Mac OS X上的軟件開發(fā)( 三 )


復(fù)雜的答案則是這樣:
OS X的本體,也就是所有非UNIX的部份,并不像Windows一開始就(幾乎)全以C寫成的 。因此OS X沒有所謂"Win32 API"這么純粹的東西 。OS X核心的、非GUI的服務(wù)和鏈接庫,有時(shí)稱為"Core API" 。Core API大部分以C寫成,并且多半奠基于CoreFoundation這套鏈接庫之上 。CoreFoundation提供了一貫的內(nèi)存管理模式(CFRetain, CFRelease)、基礎(chǔ)的數(shù)據(jù)型別(字符串、數(shù)組、字典)、property list文件管理、文件、網(wǎng)絡(luò)存取等等 。CoreFoundation使用上跟Win32 API有點(diǎn)相似,都透過存取handle的方式來達(dá)到某種近似「用C語言操作對象」的效果 。但CoreFoundation最大的不同在于它還有reference counting的內(nèi)存管理模式,大幅簡化了內(nèi)存管理的復(fù)雜性 。
至于Carbon,嚴(yán)格說來,是Mac OS X在發(fā)行之初,為了維持與Mac OS 9兼容,才提供一套以C寫成的GUI工具集,主要包括所有的GUI組件(Apple 稱為 HIToolbox ,HI 意思是 Human Interface)以及所有OS X之前的API(QuickDraw等等) 。隨著OS X 10.5的推出,Apple漸漸舍棄了舊式的API ,鼓勵(lì)大家使用Objective-C寫成的Cocoa來開發(fā)程序 。Carbon現(xiàn)在的意義等于就是HIToolbox,也就是OS X GUI 的C API 。
但是,Apple在2007年夏天做了重大的宣布;Carbon不會(huì)有64-bit的版本 。也就是說這一套C API是「沒有未來」的 。這意味著所有使用Carbon寫成的軟件──Microsoft Office、Adobe Photoshop都不可能順利過渡到64-bit 。至于像QT這一類跨平臺(tái)的GUI kit也勢必要順應(yīng)這項(xiàng)改變 。
其實(shí)Objective-C并不難學(xué) 。由C轉(zhuǎn)換到C/C#時(shí)需要學(xué)習(xí)很多新觀念、新用語,但Objective-C大體上只是在C語言上加上一層薄薄的、動(dòng)態(tài)的面向?qū)ο髮?。Cocoa則是相當(dāng)容易上手的API 。透過Cocoa就可以用面向?qū)ο蟮姆绞酱嫒S X八成上的系統(tǒng)服務(wù)(其余兩成可以用C來呼叫) 。Objective-C可以跟C完全混用 。同時(shí)Apple也提供了所謂的"Objective-C",可以在C程序中呼叫Objective-C程序,或者在Objective-C里撰寫C程序代碼 。Apple自家的瀏覽器Safari就有不少核心的程序代碼(WebKit)使用了Objective-C來撰寫 。
項(xiàng)目 Windows Mac OS X
主要開發(fā)語言 C/C/C#(及其他.Net支持的語言,如C/CLI) Objective-C/Objective-C/C/C

推薦閱讀