【TLC の4コマ劇場】CONCON 問題の名残? - TimberLandChapelの Tech Blog
やまにょんさんの処経由。
あー、これはCONCON問題の名残じゃなく、MS-DOSの予約デバイス名の名残です。
MS-DOSには幾つかのキーワードが予約デバイスとして登録されいたのですよ。
例えば……
CON:標準入出力・エラー出力(※1)
AUX:標準補助装置(主にRS-232C)による入出力
PRN:プリンタへの出力
NUL:何もしない
CLOCK:時計
……だったかな?(他にもCOM1~9やLPT1~9も予約デバイスとして登録されています。)
元々はUNIXに実装されていた機能を真似て(つーかMS-DOS自身がUNIXを真似て作られたモノですが)、ファイルハンドルという形で実装されていました。
当然WindowsにはMS-DOSの機能を内包しているので、これらのキーワードも引き継いでいます。なのでこれらの名前でファイルやフォルダを作る事が出来ない……という訳です。
CONCON問題はこの予約デバイス名を含むパスの処理に不具合があったために発生した現象……つまり、この予約デバイス名の名残があって、CONCON問題がある、という感じになります。
にしても懐かしいなぁ……結構昔から知られていたネタだと思っていたんですが。
---
(※1)標準出力とエラー出力の違いは次の通り。
標準出力:リダイレクトできる。
エラー出力:リダイレクトできない(必ず画面に表示される)。なので主にエラーメッセージの表示に使われる。
……Cをたしなんでいた方ならstdin,stdout,stderrのキーワードにピクリと来る筈w。
やまにょんさんの処経由。
あー、これはCONCON問題の名残じゃなく、MS-DOSの予約デバイス名の名残です。
MS-DOSには幾つかのキーワードが予約デバイスとして登録されいたのですよ。
例えば……
……だったかな?(他にもCOM1~9やLPT1~9も予約デバイスとして登録されています。)
元々はUNIXに実装されていた機能を真似て(つーかMS-DOS自身がUNIXを真似て作られたモノですが)、ファイルハンドルという形で実装されていました。
当然WindowsにはMS-DOSの機能を内包しているので、これらのキーワードも引き継いでいます。なのでこれらの名前でファイルやフォルダを作る事が出来ない……という訳です。
CONCON問題はこの予約デバイス名を含むパスの処理に不具合があったために発生した現象……つまり、この予約デバイス名の名残があって、CONCON問題がある、という感じになります。
にしても懐かしいなぁ……結構昔から知られていたネタだと思っていたんですが。
---
(※1)標準出力とエラー出力の違いは次の通り。
……Cをたしなんでいた方ならstdin,stdout,stderrのキーワードにピクリと来る筈w。