Core Foundation

出典: フリー百科事典『ウィキペディア(Wikipedia)』
2013年3月13日 (水) 04:01時点におけるAddbot (トーク)による版 (ボット: 言語間リンク 2 件をウィキデータ上の d:q3693449 に転記)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

Core FoundationCocoaのFoundationに相当するものをC言語で記述したもの。実装をCへ移した理由は、Carbonとの共有コードベースを備える為だと考えられる。

Core FoundationはオープンソースDarwinの一部なので必要ならソースコードを見ることができる。C言語で書かれているものの、オブジェクト指向の雰囲気は残しており、参照カウンタを用いたメモリ管理などObjective-Cに近いものになっている。Core FoundationのオブジェクトはCFTypeと呼ばれるopaqueな構造体であり、ヘッダ部をObjective-C互換にする事でメッセージ送信との混在利用が可能としている(toll-free bridge)。

Core Foundationに含まれるものはCFで始まる名前がつけられている。たとえばCFString(NSStringに相当)やCFArray(NSArrayに相当)、Mac OS X 10.3以降ではCFStream(NSStreamに相当)など。他にQuartzのCGXXX、SearchKitのSKXXXなどもCFType互換となっており、相関性の高いインターフェースを備えている。

Core Foundationの本家であるCocoaもまずはC言語で実装し、それをObjective-Cでラップするという流れになっているようである。

Mac OS Xでの実装が基本であるが、主たる機能がCoreFoundation.dll、CoreGraphics.dll等の形でWindows上に移植されている。 これらのライブラリは、同社のWebブラウザSafariの移植に活用されている。APIそのものは公開されていないが、一部のユーザーによって、同DLLでCoreFoundationの機能をWindows上で実現させる方法が発見されている。テンプレート:要出典

外部リンク

テンプレート:OS X