Neo*_*eit 4 syntax ncurses pdcurses
我正在 Linux 中使用 ncurses 构建游戏。
我可以将代码“复制/粘贴”到 Microsoft Visual Studio(正确设置 PDCurses)并且一切都会正常运行吗?
谢谢!
语法是相同的,但问题不涉及语法
它们“很大程度上兼容”,但各自都具有对方所没有的功能。顺便说一下(没有人做过完整的比较):
#define CTL_LEFT 0x1bb /* Control-左箭头 */
#定义CTL_RIGHT 0x1bc
#定义CTL_PGUP 0x1bd
#定义CTL_PGDN 0x1be
#定义CTL_HOME 0x1bf
#定义CTL_END 0x1c0
对于 ncurses,这些将是用户定义的功能。终端描述将具有控制光标键的功能,例如 ** kDN5(控制向下箭头),应用程序在运行时使用tigetstr(获取值)查找这些键并key_defined查找 ncurses 使用的编码。这些名称基于xterm,但可能包括其他终端(除了 rxvt 之外的大多数终端,您会发现复制 xterm )。听起来很麻烦,但是 ncurses/PDCurses 都在扩展 X/Open Curses 方面走了自己的路。
resize_term是不同的(在 ncurses 中它响应窗口大小的变化,而 PDCurses 允许更改窗口大小)。
为使用 Unicode 值(或假设字符串为 UTF-8)而编写的程序可能无法在不付出努力的情况下进行移植。