MacFace2開発日記(1)
以前からMacFaceを作り直そうと思っていたが、同じもをもう一度実装するSwiftという新しい言語が出たのをきっかけに始めてみる。
CPU利用率やメモリの使用量などの情報を取得するためにMachのAPIを呼びだす必要がある。それはC言語のインターフェースなので、まずはSwiftからC言語の関数を呼びだす方法が必要だ。
ドキュメントは以下にある。
まずC言語の型はすべて頭にCの付いた型名になっていて、Swiftの型とは完全別物になっている。C言語の整数・実数型は処理系によってビット数が変わるので一緒にはできないからのようだ。となると常にキャストが必要になるということなのだろうか。めんどくさそう。
ポインタはジェネリックな型になっているようだがよくわからない。プリプロセッサは定数定義なマクロはSwiftの定数に変換してくれるようだが、それ以外はサポートなしのようだ。
とりあえず面倒そうなのでObjective-Cのラッパークラスを作って対応することにする。