- 1. 概要
- 2. インストール
- 3. 環境
1. 概要
気づいたら curses と ncurses と同じことを2つ書いていたので統一しようと思います。
ncurses は、new curses の略ですな。
そのあたりは「ウィキペディア - ncurses」でどうぞ。
コンソール画面でカーソル移動やスクリーン制御・非同期入力が使えるというありがたいライブラリです。
モニタリングしているものを printf で出力していると画面が流れていってしまったりしますが、ncurses を使えば、一定の位置に一定の情報を表示し続けたりと・・・CUI でありながら GUI ライクな動きができます。
コンソールしかないようなリアルタイムのシステムで、モニタリングなどに使えば、大変重宝します。
あぁ、うまく説明できないなぁ。
今回、ウィキペディアを読んで初めて知ったのですが、FreeBSD のインストール時や bsdconfig で表示される
この画面
ncurses を使って表示しているんですと。
2. インストール
次項、以下 ncurses を実例を使って説明しようかと思うのですが。
OS は FreeBSD を使用しています。
最低限必要なこととして、ncurses をインストールしておく必要があります。
インストールされているか確認するには
> pkg version -n ncurses
ncurses-6.0.0s20171223_1 =
何か表示されていれば、インストールされているということになります。
インストールされていなければ、以下のコマンドでインストールします。
> pkg install ncurses
CentOS では、なにかに付属してインストールされているようですが、明示的にインストールするには、
> yum nstall ncurses
3. 環境
ここの内容は、主に以下の環境で確認しています。
OS FreeBSD 10.3 RELEASE i386
コンパイラ Clang 3.4.1
make GNU Make 4.2.1
curses を C言語で使うためには、curses.h もしくは ncurses.h のインクルードとリンク時に -lncursesw が必須になります。
libncursesw は libncurses のワイド文字対応版で、UTF-8 で記述する場合、 -lncursesw の方が文字化けが少ないようです。
すなわち、ソースファイル名を curses.c として上部で、以下のように宣言することと
#include <ncurses.h>
Makefile は、以下のように記述します。
MAIN = cursesw
CC = clang
all : curses
$(MAIN) : $(MAIN).c
$(CC) $@.c -o $@ -lncursesw
|
|