PDCurses 和 ncurses 是否具有相同的语法?
Does PDCurses and ncurses have the same syntax?
我正在 Linux 中使用 ncurses 构建游戏。
我可以 "copy/paste" 将代码导入 Microsoft Visual Studio(为 PDCurses 正确设置)并且一切都会 运行 OK 吗?
谢谢!
语法相同,但问题不涉及语法
它们是 "largely compatible",但每个都有对方所没有的特征。副手(没有人做过完整的比较):
#define CTL_LEFT 0x1bb /* Control-Left-Arrow */
#define CTL_RIGHT 0x1bc
#define CTL_PGUP 0x1bd
#define CTL_PGDN 0x1be
#define CTL_HOME 0x1bf
#define CTL_END 0x1c0
对于 ncurses,这些将是 user-defined capabilities. The terminal description would have capabilities for the control cursor keys such as **kDN5
(control down-arrow) and the application find these at runtime using tigetstr
(to get the values) and key_defined
to find the coding used by ncurses. The names are based on xterm,但可能包括其他终端(除了 rxvt 之外的大多数终端,您会发现复制 xterm)。听起来很麻烦,但是 ncurses/PDCurses 都在扩展 X/Open Curses 方面走了自己的路。
resize_term
不同(在 ncurses 中它响应 window 尺寸变化,而 PDCurses 允许改变 window 尺寸)。
编写为使用 Unicode 值(或假定字符串为 UTF-8)的程序可能不费吹灰之力就无法移植。
我正在 Linux 中使用 ncurses 构建游戏。
我可以 "copy/paste" 将代码导入 Microsoft Visual Studio(为 PDCurses 正确设置)并且一切都会 运行 OK 吗?
谢谢!
语法相同,但问题不涉及语法
它们是 "largely compatible",但每个都有对方所没有的特征。副手(没有人做过完整的比较):
#define CTL_LEFT 0x1bb /* Control-Left-Arrow */ #define CTL_RIGHT 0x1bc #define CTL_PGUP 0x1bd #define CTL_PGDN 0x1be #define CTL_HOME 0x1bf #define CTL_END 0x1c0
对于 ncurses,这些将是 user-defined capabilities. The terminal description would have capabilities for the control cursor keys such as **kDN5
(control down-arrow) and the application find these at runtime using tigetstr
(to get the values) and key_defined
to find the coding used by ncurses. The names are based on xterm,但可能包括其他终端(除了 rxvt 之外的大多数终端,您会发现复制 xterm)。听起来很麻烦,但是 ncurses/PDCurses 都在扩展 X/Open Curses 方面走了自己的路。
resize_term
不同(在 ncurses 中它响应 window 尺寸变化,而 PDCurses 允许改变 window 尺寸)。编写为使用 Unicode 值(或假定字符串为 UTF-8)的程序可能不费吹灰之力就无法移植。