PDCurses和ncurses是否具有相同的语法?

时间:2017-08-08 03:50:54

标签: syntax ncurses pdcurses

我正在Linux中使用ncurses构建游戏。

我可以将代码“复制/粘贴”到Microsoft Visual Studio中(为PDCurses正确设置),一切运行正常吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

语法相同,但问题不涉及语法

它们“很大程度上兼容”,但每种都具有其他功能所没有的功能。副手(没有人做出完整的比较):

  • PDCurses没有低级别(terminfotermcap)接口
  • PDCurses对alt / control键有明确的定义,例如,
    #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。终端描述具有 control 光标键的功能,例如** kDN5(控制向下箭头),应用程序在运行时使用tigetstr查找这些键(以获取()和key_defined来查找ncurses使用的编码。名称基于xterm,但可能包括其他终端(除rxvt之外的大多数终端,您将找到复制xterm)。听起来很麻烦,但是ncurses / PDCurses都在扩展X / Open Curses方面走了自己的道路。

  • resize_term不同(在ncurses中它响应窗口大小的变化,而PDCurses允许更改窗口大小)。

  • 编写为使用Unicode值(或假设字符串为UTF-8)的程序可能不会轻易移植。