ncurses 具體實現(xiàn)原理?ncurses 的實現(xiàn)依賴于操作系統(tǒng)嗎?
2 回答

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