ncurses 具體實現原理?ncurses 的實現依賴于操作系統嗎?
2 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
傳統的Unix Console和DOS/Windows Console并不一樣。從串口終端發展下來的這一系Terminal從接口上說是一個純粹的“流”,因此它本身并沒有定位屏幕位置的能力。(最初的Terminal是打字機,而不是視頻終端)
因此大部分的終端使用Escape Sequence,也就是一些特殊的不可見字符序列來傳遞光標定位、文字擦除、顯示顏色等特殊的指令。其中普及最廣的標準應該是ANSI Escape Sequence。
具體到NCurses,NCurses應該使用了類似于Terminfo/Termcap的數據庫來消化不同終端的不同。這些數據庫保存了各種終端的指令支持狀況,以及對應這些指令的Escape Sequence。
而在于具體實現,在Windows Console Host之類終端模型完全不同的環境里也許會比較特殊,但在支持Terminal的Unix類系統上應該是差別不大的。
- 2 回答
- 0 關注
- 830 瀏覽
添加回答
舉報
0/150
提交
取消