有人直接使用
terminfo
、tputs()
、tparm()
、tigetstr()
等功能吗? 我在网上找不到任何具有这些低级终端功能的实际示例。
每个人都使用
tigetnum()
库来控制终端并且不关心这些低级代码吗?
我认为这种低级代码很难阅读。
我应该费心处理这些低级代码还是只学习
ncurses
,这对于 ncurses 提供的高级代码来说不会那么令人难以承受?
如果有人知道有关此类低级函数的一些实用信息,请与我分享。
这很容易检查。
首先,准备ncurses库中的函数列表。在我的系统上,这将是:
ncurses
现在看看其中有多少被用于各种程序中。
nm -D /lib64/libncurses.so.5.9 | fgrep ' T ' \
| sed 's/^[0-9A-Fa-f ]*T //' > /tmp/ncurses-functions-list
“nm -D”列出了
中所述,区分这些的方法是查看哪些程序调用 initscr 或 newterm (需要初始化高级接口),哪些程序不调用。一个简单的“ldd”将显示哪些程序与 ncurses 链接(给出总数),并且将函数列表减少到这两个将告诉(使用第二个脚本)哪个程序使用了高级接口。