我正在Linux中使用ncurses构建游戏。PDCurses和ncurses具有相同的语法吗?
我可以将代码复制/粘贴到Microsoft Visual Studio(正确设置为PDCurses),并且所有内容都可以正常运行吗?
谢谢!
我正在Linux中使用ncurses构建游戏。PDCurses和ncurses具有相同的语法吗?
我可以将代码复制/粘贴到Microsoft Visual Studio(正确设置为PDCurses),并且所有内容都可以正常运行吗?
谢谢!
的语法是一样的,但问题不语法
他们是“大体兼容”的交易,但是每个人都有在对方没有的功能。随口(没有人做了一个完整的比较):
#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。终端描述将具有控制光标键的功能,例如** kDN5
(控制向下箭头),应用程序在运行时使用tigetstr
(获取值)和key_defined
找到ncurses使用的编码。这些名称基于xterm,但可能包含其他终端(除了rxvt之外的大部分终端都会找到xterm副本)。听起来很麻烦,但是ncurses/PDCurses在扩展X/Open Curses方面都有自己的路径。
resize_term
是不同的(在它的ncurses响应于窗口尺寸的变化,而PDCurses允许改变窗口大小)。
编写为使用Unicode值(或假定字符串为UTF-8)的程序可能无需付出一定努力即可移植。