在POSIX _POSIX_VDISABLE值中,如果爲-1,所有終端設備文件的特殊字符都沒有禁用字符;否則值是禁用字符值。如果_POSIX_VDISABLE值爲-1,該怎麼辦?
請任何人都可以幫助我理解這一點。我無法得到這個確切的意義。
請
在POSIX _POSIX_VDISABLE值中,如果爲-1,所有終端設備文件的特殊字符都沒有禁用字符;否則值是禁用字符值。如果_POSIX_VDISABLE值爲-1,該怎麼辦?
請任何人都可以幫助我理解這一點。我無法得到這個確切的意義。
請
如果你看一下definition of special characters,這應該是指(THRE「-1」的值),所有這些特殊字符是活躍:
在規範輸入,終端驅動程序識別一些執行各種控制功能的特殊字符。
這些包括用於編輯輸入的ERASE
字符(通常爲DEL)以及其他編輯字符。
的INTR字符(通常Ctrl鍵 - Ç)用於發送信號SIGINT
,和其它信號認識字符,可在任一規範的或非規範輸入模式下可用。
而且你有很多的那些specal字符:
的問題已經提出,看是否such a value was portable(也總是被編譯)1997年:
第2.9.4的措辭:
如果任何表2-常數11被定義爲具有值-1在頭....
可以建議,在休閒讀數,如下所示的代碼,以儘量減少尺寸 和每個實現優化效率:
#ifdef _POSIX_VDISABLE
#if _POSIX_VDISABLE == -1
/* code that assumes no vdisable capability */
#else
/* code that assumes vdisable capability */
#endif
#else
/* code that uses pathconf() to determine vdisable capability */
#endif
interpretation #34暗示它會。
通過在COMPILE-TIME使用這些值,便攜式POSIX.1應用程序可避免在定義符號時加載與表2-11中與符號相關的所有與pathconf()相關的代碼。
奇怪的是,glibc似乎把它當作一個unsigned char,我從來沒有想過。 – 2010-05-23 11:25:23
@Tim:因此我的解釋鏈接是:「該標準不要求常量_POSIX_VDISABLE是一個預處理器號碼。」 – VonC 2010-05-23 11:32:10
非常感謝。順便說一下,我仍然是一名追求計算機科學工程專業的學生:),人們如何擁有如此多的知識(尊重)。我的意思是我覺得,我幾乎不知道這個世界上的任何東西:( – 2010-05-23 11:37:07