Unix-Linx 編程實踐教程 第六章 小結

  • 終端模式有三種,規範模式、非規範模式、raw模式。
    1. 規範模式:又名cooked模式,是最多見的模式。擁有緩衝區特性(僅在接收到回車鍵時纔將輸入發送到程序),使得驅動程序能夠實現基本的編輯功能。可經過命令stty或tcsetattr()修改。
    2. 非規範模式:沒有緩衝特性和可編輯特性,但仍具備特定的字符處理,好比處理Ctrl-C。
    3. raw模式:當全部的處理設置都被關閉時,驅動程序處於raw模式。
  • struct termios.c_lflag部分屬性位
    ICANON---標準模式屬性位
    ISIG---當輸入INTR、QUIT、SUSP或DSUSP時,產生相應的信號
    ECHO---回顯屬性位

     

  • struct termios.c_cc[VMIN] = 1; //設置每次只讀一個字符
    struct termios.c_cc[VTIME]=20; //設置驅動程序的超時爲2s

     

  • 終端驅動程序默認行緩衝輸出,因此cout<<endl同fflush(stdout)做用同樣,都是讓緩衝內容迅速輸出。ios

  • signal()用於安裝信號處理函數函數

  • 針對SIGINT(Ctrl-C)安裝處理函數,若是SIGINT發送太屢次的話,僅僅有兩個SIGINT會被真正發送到信號隊列中code

相關文章
相關標籤/搜索