[英]directly using terminal capabilities
是否有人使用terminfo
功能功能,如tputs()
tparm()
tigetstr()
tigetnum()
直接了吗?
我在网上找不到这些低级终端功能的实际例子。
是否每个人都使用ncurses
库来控制终端而且不打扰这个低级代码?
我认为这个低级代码很难读。
我应该用这种低级别的代码打扰或只是学习ncurses
是少了很多热烈,ncurses的提供更高级别的代码?
如果有人知道有关这种低级功能的实用信息,请与我分享。
是否每个人都使用ncurses库来控制终端而且不打扰这个低级代码?
这很容易检查。
首先,在ncurses库中准备一个函数列表。 在我的系统上将是:
nm -D /lib64/libncurses.so.5.9 | fgrep ' T ' \
| sed 's/^[0-9A-Fa-f ]*T //' > /tmp/ncurses-functions-list
现在看看在各种程序中使用了多少这些。
for f in /usr/bin/* ; do
nm -D $f 2>/dev/null | fgrep ' U ' \
| sed 's/^ *U //' \
| fgrep -x -f - /tmp/ncurses-functions-list && echo ==== $f;
done
脚本是一个起点,但需要改进。 首先,告诉它它的作用:
改进它的一种方法是显示(最初请求)哪些程序使用低级接口,哪些程序使用高级ncurses接口。 正如ncurses常见问题解答中所述,库用户的类型区分这些是区分哪些程序调用initscr或newterm(需要初始化高级接口),哪些不需要。 一个简单的“ldd”将显示哪些程序与ncurses链接(以给出总数),并将功能列表减少到那两个会告诉 - 使用第二个脚本 - 使用高级接口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.