読者です 読者をやめる 読者になる 読者になる

opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

PDCursesについて

世の中にはcursesというものがある。これはUNIX上ではおなじみだが、いわゆるTUI(テキストベースのUI)を提供するためのライブラリでUNIXには標準で付いている。で、GNUが提供するncursesという種類が今は多く使われいるようだ(MIT LICENSE)

しかしPDCursesというものもこのせかいには存在するらしい。 これは聞いた話Windows上でもビルドできるとか...よくわからないがとりあえず使ってみるが速いかと思って使ってみた。
DLはこちらのサイトからたどればできる。

UNIX上でビルドするときはXが必要なようなのでXを付ける。(Macでも必要)
つまりPDCursesはX上で動作するようだ。

詳しくは調べてないが、どうやら(すべてかどうかはわからないが)cursesの関数と互換性があるようだ。
つまりcursesの代わりにPDCursesを使うとビルドできるということ。


では早速適当なコードを書く。(前に書いたコードがあったのでそちらを流用してみた)
コードは実はある本に書いてあったコードをほとんど真似して書いている為、ここには載せない。

書き換える部分は
#include
の部分を
#include
とするだけ。

これでPDCursesを使う準備ができた。

ビルドするときは xcurses-configというコマンドを使う。PDCursesインストール時に同時にprefixのbin以下に入るようだ.

例えば、今回のコードをmain.cとすれば以下のコマンドでビルドできる。

% gcc -o a.out main.c `xcurses-config --libs`

これで a.out ができるので実行してみる。

% ./a.out

以下が実行結果 (MacOSXのX上で実行している。)

このようにcursesと同様の動作をした。 Mac上なのでXを使うのはあんまり本意ではないが...

まだWindowsでは試してないがそのうち試してみようと思う...

ちなみに以下がMacのターミナル上で普通のcursesを使って同様のコードを実行した結果。

Firefox ブラウザ無料ダウンロード