検索 - みる会図書館

検索対象: 月刊 C MAGAZINE 1991年3月号

月刊 C MAGAZINE 1991年3月号から 173件ヒットしました。

月刊 C MAGAZINE 1991年3月号


00M EDITORS 次 号 予 告 >4 月 号 ( 3 月 18 日 発 売 ) な お , 予 告 内 容 を 変 更 す る こ と が あ り ま す 。 特 別 付 録 を 2H 巻 頭 イ ン タ ビ ュ ー ・ オ ー ノ ヾ レ イ プ ロ グ ラ ム 高 実 行 ツ ー ル 「 OVL2EMS 」 ・ C コ ン ヾ イ ラ 「 L 引 C ー 86 試 食 版 」 Robert ScheifIer ・ 本 誌 新 連 載 に AN 引 C 言 語 入 門 講 座 」 活 用 集 ・ 本 誌 「 GNU 奮 闘 記 」 紹 介 フ ロ グ ラ ム ( 3 ) MIT's X Window Conso ⅲ um テ ィ レ ク タ ー ・ 本 誌 掲 載 ケ ス プ ロ グ ラ ム デ ギ ン グ 入 門 ANSI ! 第 入 門 講 座 デ ヾ ッ ギ ン グ 概 論 デ ヾ ッ グ し や す い プ ロ グ ラ ミ ン グ 手 法 ア ル ゴ リ ズ ム と デ ー タ 構 造 入 門 デ ヾ ッ ギ ン グ ッ ー ル の 実 際 新 MS - DOS プ ロ グ ラ ミ ン ク 入 門 ANSI C ー more 短 期 連 GNU 奮 闘 記 拡 張 C 言 語 と し て の C 十 十 ( 3 ) COMPUTER LANGUAGE 提 携 記 事 最 新 開 発 環 境 レ ポ ー ト Hanging on the Metaphone —rSmaIItaIk-80J Permutation Generation 編 集 後 記 ◇ 無 謀 に も UNI 坊 , ョ イ ド ◇ 1 月 発 売 の 「 秘 伝 C 言 語 問 ◇ 1 月 に な っ て , 今 シ ー ズ ン ◇ イ ス ラ ム の 人 々 は , よ く ◇ ア ル バ イ ト の K 君 が パ ソ コ レ の 二 人 を 引 き 連 れ て ス キ 答 ポ イ ン タ 編 』 が , 大 変 「 寿 命 に は 終 わ り が あ る が , 初 め て の ス キ ー に 行 っ た 。 ン に 向 か っ て ニ ャ ニ ヤ し て ー に 行 っ て き た 。 意 外 に 日 好 調 な 売 行 き て 、 あ る が , 本 仕 事 に は 終 わ り が な い 」 と 言 い る 。 何 を し て い る の か の ス ポ ー ツ は 好 き だ と よ く 日 頃 運 動 不 足 を 嘆 く UNI 坊 が 書 の タ イ ト ル づ け は な か な う 。 「 人 生 は 1 度 し か な く , ぞ き 込 む と UNO と い う カ ー っ て い る が , ス キ ー は ( も ? ) ス ヒ 。 ー ド に 強 い 。 人 の 板 を か 大 変 て あ っ た 。 著 者 か ら し か も 短 い 。 仕 事 は い っ て 、 ド ゲ ー ム を 行 っ て い た 。 何 へ タ だ 。 滑 っ て 降 り て く る 踏 み つ け て く れ た が ・ ・ ・ の 意 向 は , 同 じ も の だ っ た も て 、 き る の だ か ら , 人 生 を が お か し い の か 聞 い て み る よ り も , 転 が っ て 降 り て く 対 し て , 体 力 一 本 勝 負 の ヨ の だ が , 「 も う 一 声 」 と い う と , 「 プ レ イ ヤ ー の 名 前 を 〇 楽 し み な さ い 」 と い っ た 意 味 る 方 が 速 い の だ 。 巧 く 滑 れ イ ド レ の 情 け な い こ と と い こ と て 、 , 「 ポ イ ン タ が わ か る 〇 〇 〇 〇 〇 〇 と 登 録 し て ゲ る よ う に な っ た な と 思 う と , ら し い 。 よ く わ か っ て は い っ た ら , も う ・ ・ べ タ ベ ん て 、 す 』 「 絶 対 安 全 ポ イ ン タ 次 の 日 に は も う ぞ き な く な ー ム を 行 う と , カ ー ド が 出 る が , や つ ば り 仕 事 に 終 わ タ と 雪 を 舐 め る の が 好 き ら せ な い と き の メ ッ セ ー ジ が 教 本 』 「 必 殺 ポ イ ン タ 料 理 っ て い る 。 こ ん な 私 て 、 も ス り は な し し か し フ セ し い 。 若 さ よ り も キ ャ リ ア 法 』 等 の 案 が 出 た 後 て 、 , 結 『 〇 〇 〇 〇 〇 〇 〇 は 何 も 出 キ ー の キ ャ リ ア は 12 年 も あ イ ン さ ん , 人 生 は 1 度 て 、 す が も の を い う 世 界 が あ る こ 局 最 初 の 案 が 一 番 と い う こ る の だ 。 た だ , プ ラ ン ク が ま せ ん て 、 し た 』 っ て な る ん ( 湾 岸 戦 よ ! と を 思 い 知 っ た か ! ( ホ ) と に な っ た 訳 て 、 あ る 。 ( 野 ) て 、 す よ 」 だ っ て ? ( 洋 ) 11 年 あ っ た だ け さ 。 (JUN) 争 の 早 期 終 結 を 祈 り ま す ) 発 行 人 孫 正 義 月 刊 編 集 人 橋 本 五 郎 発 行 所 ソ フ ト バ ン ク 株 式 会 社 出 版 事 業 部 〒 108 東 京 都 港 区 高 輪 2-19-13 、 S 高 輪 ビ ル 編 集 部 ・ TeI 03 ( 5488 月 引 8 / 出 版 営 業 部 ・ Tel 03 ( 5488 ) ロ 60 / 広 告 営 業 部 ・ Tel 03 ( 5488 ) ロ 65 編 集 長 星 野 慎 ー 編 集 宮 田 洋 一 流 王 天 渡 辺 淳 一 校 正 ア レ フ デ ザ イ ン 持 田 哲 花 本 浩 一 赤 井 晴 美 若 江 啓 子 機 部 進 監 修 石 田 晴 久 印 刷 凸 版 印 刷 株 式 会 社 / 写 植 株 式 会 社 風 芽 0 1991 雑 誌 14325 ー 3 特 集 好 評 連 載 プ ロ グ ラ ム ・ バ グ の お 問 い 合 わ せ 容 03 ( 5488 ) 1325 MAGAZINE 3 月 号 平 成 3 年 3 月 一 日 発 行 ・ 掲 載 記 , プ ロ グ ラ ム に つ い て の ご 質 間 は , 月 曜 Ⅱ か ら 金 曜 日 の 午 後 4 時 か ら 6 時 ま て 、 受 け 付 け て お り ま す 。 そ の 他 の 時 間 帯 は ご 容 赦 く だ 160 C MAGAZINE 1991 3

月刊 C MAGAZINE 1991年3月号


門 オ プ た ク ト 指 向 ・ 新 刊 図 書 の こ 案 内 ( 定 価 は 税 込 ) Readers' 、 ① 0 TurboC 十 十 オ プ ジ ェ ク ト 指 向 プ ロ ク ラ ミ ン ク 入 門 —ANSI C, AT&T C 十 十 Ve 「 2.0 版 ー 中 山 茂 著 / A5 ・ 320 頁 ・ 定 価 2 , 369 円 BASIC ユ ー ザ や C ビ ギ ナ - の た め の 入 門 書 。 C か ら グ レ ー ド ア ッ プ さ れ た C 十 十 の 基 礎 知 識 ・ 基 本 操 作 , 統 合 開 発 環 境 メ ニ ュ ー は も と よ リ , C 十 十 の 特 徴 て あ る オ プ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ を 自 由 に 駆 使 て き る よ う , 基 本 的 考 え 方 か ら 実 技 ま て を 詳 述 PC9801 , FMR 対 応 PC98 ( ) 1 対 応 PC 98 ( ) 1 対 応 モ ニ タ 募 集 綴 じ 込 み の 葉 書 で こ 応 募 く だ さ い 。 1 本 Quick FILE/db MSC PASSWORD-a 提 供 . ク レ ッ セ ン ド カ ン パ ニ 提 供 : 株 ラ ン 八 一 ド 2 本 OuickFlLE /db TurboC,TurboC 十 十 ク ラ フ ィ ッ ク ス プ ロ ク ラ ミ ン ク 入 門 —TurboC 2.0c, TurboC 十 十 1.0 版 ー 中 山 茂 著 / A5 ・ 286 頁 ・ 定 価 2 , 369 円 GOTOiJ\ 不 要 , 豊 富 な 関 数 , 記 号 定 数 に よ る 色 指 定 , 効 果 的 フ ォ ン ト な ど , グ ラ フ ィ ッ ク ス に 適 し た C , C 十 十 プ ロ グ ラ ミ ン グ の 基 礎 か ら , 基 本 操 作 , 効 果 的 グ ラ フ ィ ッ ク ス を 用 い た シ ス テ ム 構 築 , 関 数 を 学 ぶ た め の CAI の 作 成 ま て を 修 得 て き る テ キ ス ト PASSWORD-a C 言 語 ラ イ プ ラ リ 集 PC ー 9800 MSC セ キ ュ リ テ イ ソ フ ト PC -9800 用 秘 伝 C 言 語 問 答 ポ イ ン タ 編 10 冊 Computer LANGUAGE 』 1 冊 提 供 : C マ ガ ジ ン 編 集 部 提 供 : ソ フ ト ノ ヾ ン ク 株 LANGIJAGÜ 生 里 ー ン ー 竊 紙 iN ポ イ ン タ 編 好 教 育 用 C 言 語 の ABC 中 山 茂 著 / A5 ・ 270 頁 ・ 定 価 3 , 090 円 情 報 処 理 教 育 を 担 当 す る 現 場 教 員 の た め の C 言 語 入 門 書 。 BASIC に 馴 染 み の な い 者 て も 十 分 理 解 て き る よ う , 例 題 ・ 研 究 問 題 を 数 多 く と リ 入 れ た ほ か , BA SI C と C 言 語 の プ ロ グ ラ ム 対 比 も 行 な い な か ら 平 易 に 解 説 コ ン ビ ュ ー タ 佐 伯 平 ニ 著 / B6 ・ 238 頁 ・ 定 価 1 , 854 円 わ か リ や す い 図 を も と に , コ ン ヒ ュ ー タ の 仕 組 み や 装 置 の 働 き , 性 能 , 使 い 方 な ど を や さ し く 解 説 。 こ れ か ら 始 め る 人 の た め の , す く わ か る ユ ニ ー ク な ハ ー ド ウ ェ ア 入 門 書 DECEMBER ケ ー ト な ど の 形 式 で 編 集 に こ 協 力 い た だ き ま 応 募 の 注 意 ◇ 綴 じ 込 み 葉 書 に 必 要 事 項 ( ア ン ケ ー ト の 回 す 。 こ 了 承 く だ さ い 。 答 , 住 所 , 氏 名 , 電 話 番 号 , 希 望 プ レ ゼ ン ト ◇ 締 め 切 り は 3 月 18 日 必 着 で す 。 番 号 ) を 明 記 の う え こ 応 募 く だ さ い 。 あ て 先 ◇ 記 入 も れ や プ レ ゼ ン ト 番 号 が 複 数 記 入 さ れ 〒 108 東 京 都 港 区 高 輪 2 ー 19 ー 13 NS 高 輪 ビ ル ソ フ ト ノ ヾ ン ク 株 て い る 場 合 , 綴 じ 込 み 葉 書 以 外 で の こ 応 募 は 「 C マ ガ ジ ン 」 編 集 部 無 効 と さ せ て い た だ き ま す 。 ◇ プ レ ゼ ン ト に 当 選 さ れ た 方 に は , 後 日 ア ン モ ニ タ 募 集 係 ⑩ 応 用 C 言 語 ① 巻 頭 イ ン タ ビ ュ ー ② Programming on Purpose ⑩ C 言 語 フ ォ ー ラ ム ③ 提 携 翻 訳 「 Winodows か ら OS / 2 へ 」 ⑩ 実 践 C プ ロ グ ラ マ 養 成 講 座 ~ し み 葉 書 裏 面 の ④ 提 携 翻 訳 「 OS / 2 用 の コ マ ン ド ラ イ ン 」 ⑩ C 言 語 雑 学 講 座 記 事 評 価 ア ン ケ ー ト ⑤ フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト ⑩ C 言 語 入 門 講 座 に は 柾 の 数 義 こ ⑥ 特 集 汎 用 FEP 制 御 ラ イ プ ラ リ ⑩ 最 新 環 境 開 発 レ ポ ー ト ⑦ ア ル ゴ リ ズ ム と デ ー タ 構 造 入 門 記 入 く だ さ い 。 ⑩ プ ロ グ ラ ミ ン グ 添 削 ⑧ オ プ ジ ェ ク ト 指 向 へ の 招 待 ⑩ GNU 奮 闘 記 ⑩ 丹 羽 の 発 想 快 発 ⑨ 拡 張 C と し て の C 十 十 ⑩ 新 MS-DOS 入 門 ⑩ lnformation from Compiler Makers 技 報 堂 出 版 〒 107 東 京 都 港 区 赤 坂 1 ー 11 ー 41 容 03 ( 3585 ) 0166 FAX03 ( 3505 ) 5838 く 資 料 請 求 番 号 158 〉 158 C MAGAZINE 1991 3

月刊 C MAGAZINE 1991年3月号


12 月 号 の ク イ ズ の 解 答 12 月 号 の ク イ ズ は , 「 簡 易 pscanf に 対 応 す る Table 2 の フ ォ ー マ ッ ト 文 字 列 を も つ 簡 易 printf を 作 り な さ い 。 関 数 名 は pprintf と す る 。 第 一 引 数 は フ ォ ー マ ッ ト 文 字 列 の み と す る 。 ま た 関 数 pprintf の 動 作 を 確 認 す る 簡 単 な main 関 数 を 作 り な さ い 。 こ の と き Tab 厄 2 の フ ォ ー マ ッ ト を す べ て 含 ん だ 例 に す る こ と 」 で し た ね 。 今 回 は , い つ も よ り 応 募 が 少 な か っ た よ う で す 。 可 変 引 数 と い う こ と で , 少 し 難 し か っ た か も し れ ま せ ん ね 。 今 回 の 出 題 で は , 数 値 を 文 字 列 に 変 換 す る 部 分 に 苦 労 す る だ ろ う と 予 想 し て い ま し た が , 自 作 で 数 値 を 文 字 列 に 変 換 す る 関 数 を 作 っ た 方 は い ま せ ん で し た ( AN の 標 準 ラ イ プ ラ リ 関 数 の 中 に は , 数 値 を 文 字 列 に 変 換 す る 関 数 は な い の で す 。 こ の よ う な 関 数 を 定 め て い な い AN 規 格 に 不 満 の 残 る と こ ろ で す ) 。 int 型 を 文 字 列 に 変 換 す る に は itoa ( ) を , long 型 を 文 字 列 に 変 換 す る に は は oa ( ) と い う 処 理 系 依 存 の 関 数 を 使 っ て い ま し た 。 浮 動 小 数 点 を 文 字 列 に 変 換 す る に は , UNIX 互 換 の 関 数 fcvt( ) , gcvt( ) , ecvt( ) の ど れ か を 使 っ て い ま し た 。 こ れ ら の 関 数 は , 大 抵 の 処 理 系 に あ る の で , 移 植 性 に そ ん な に 問 題 は な い で し よ う 。 ク イ ズ の 解 答 に よ く 使 わ れ て い た ラ イ プ ラ リ 関 数 の 説 明 を Tab 厄 3 に 示 し ま す 。 そ れ 関 数 pp 「 intf の フ ォ ー マ ッ ト 文 字 TabIe 2 TabIe 3 ■ 関 数 ■ 用 法 ■ 機 能 ク イ ズ の 解 答 に よ く 使 わ れ て い た ラ イ プ ラ リ 関 数 itoa char * itoa( int value, char * str, int radix ) : 関 数 itoa は , int 型 の 値 va ⅳ e を \ 0 て 終 わ る 文 字 列 に 変 換 し , そ の 結 果 を 文 字 配 列 st 「 に 代 入 し ま す 。 「 ad ⅸ は , va ⅳ e を 変 換 す る 基 数 を 表 し ま す 。 1 0 進 数 に 変 換 す る と き に は , radix= 1 0 と し ま す 。 返 り 値 は , 文 字 配 列 str へ の ポ イ ン タ で す 。 ・ 関 数 ・ 用 法 ■ 機 能 ・ 関 数 ・ 用 法 ・ 機 能 に oa char * oa い ong value, char * str, int 「 adix ) : 関 数 に oa は , 関 数 itoa の long 型 ノ ヾ ー ジ ョ ン で す 。 g cvt char * gcvt( double value, int ndec, char * buf ) : 関 数 gcvt は , doub 厄 型 の 値 va ⅳ e を ' \ 0 ' で 終 わ る 文 字 列 に 変 化 に 変 換 し て , そ の 文 字 列 を 文 字 配 列 buf に 格 納 し ま す 。 関 数 gc ⅵ は , 可 能 な ら ば , FORTRAN の F 変 換 に 従 っ て nde c 桁 の 有 効 数 字 の 文 字 列 を 生 成 し ま す 。 F 変 換 が 不 可 能 な 場 合 は , p 「 in 廿 の E 形 式 の 文 字 列 を 生 成 し ま す 。 後 ろ に 続 く 意 味 の な い 0 は 文 字 列 に 含 ま れ ま せ ん 。 関 数 gcvt の 返 り 値 は , 文 字 配 列 buf へ の ポ イ ン タ で す 。 List 12 2 : 34 : 30 : 29 : 28 : 26 : 24 : 23 : 22 : 20 : 9 : 8 : 7 : 6 : 5 : 4 : 3 : 川 窪 さ ん の 解 答 ( pprin 廿 . c ) c 言 語 入 門 講 座 9 0 年 1 2 月 号 課 題 : MS=DOS Ver3. 30B OS function 簡 易 版 printf pprintf. c Filename Compiler Date Made by : TurbO C : 1990. 11.24 : 川 窪 功 ( 使 用 法 ) フ ォ ー マ ッ ト 型 1 d Char int long float doub le Char * (controll code) return line feed printf()s i d3nr ” ,a, b, c) ( 例 ) ( * ) f,d は 小 数 以 下 の 桁 数 指 定 可 ( 例 : f3) 128 フ ォ ー マ ッ ト 文 字 C MAGAZINE 1991 3 Char i nt long float double Char * 型 ( 文 字 列 ) 31 : #include く stdio. h> 32 : #include く stdlib. h> 33 : #include く stdarg. h> #include く ctype. h 〉 36 : #define MÅXBUF 128

月刊 C MAGAZINE 1991年3月号


List 3 る も の て 、 , 関 数 か ら 戻 っ た ら す べ て 不 要 と な り 除 去 さ れ ま す 。 し た が っ て , 関 数 を 呼 び 出 す ネ ス ト が 深 か っ た り , 自 動 的 な 変 数 が 大 き か っ た り し た と き に ス タ ッ ク オ ー ノ ヾ ー フ ロ ー と い う 工 ラ ー が 発 生 し ま す 。 可 変 個 引 数 List 3 の プ ロ グ ラ ム を 考 え ま し よ う 。 第 1 引 数 の 値 に よ っ て そ れ 以 降 の 引 数 の 値 と 型 を 決 定 し , そ れ ら の 合 計 を 返 す 関 数 て 、 す 。 こ の よ う に 可 変 個 引 数 の ア ク セ ス に は va ~ マ ク ロ を 使 用 し ま す 。 Fig. 1 と List 3 を , 理 解 て 、 き る ま て 、 何 度 も 見 比 べ て く だ さ い 。 テ キ ス ト 画 面 制 御 ラ イ プ ラ リ 再 び ' 90 年 12 月 号 て 、 大 好 評 だ っ た テ キ ス ト 画 面 制 御 ラ イ プ ラ リ に 可 変 個 引 数 を 受 け 付 け る dprintf 関 数 を 追 加 し た も の を 付 録 デ ィ ス ク に 収 録 し ま し た ( 12 月 号 を お も ち て 、 な い 方 の た め に , マ ニ ュ ア ル も 文 書 フ ァ イ ル と し て 入 れ て い ま す ) 。 PC ー 9801 専 用 ( ハ イ レ ゾ 含 む ) の 小 さ く て 高 速 な ラ イ プ ラ リ て 、 す 。 モ ジ ュ —) レ 化 ロ ロ 今 回 は い き な り 添 削 ず み の プ ロ グ ラ ム を 示 す の て 、 は な く , 趣 向 を 凝 ら し て ( ? ) 前 回 添 削 し た プ ロ グ ラ ム か ら 5 段 階 に 分 け て 添 削 し ま し た ( す べ て を 付 録 デ ィ ス ク に 収 録 し て い ま す ) 。 く 1 > 最 初 に 説 明 し た よ う に , 必 然 性 の な い 間 接 的 再 帰 を 除 去 し た く 2 > 初 期 処 理 の 部 分 を 関 数 と し て 独 立 し , さ ら に も う 少 し 手 を 加 え た 。 こ れ に よ り , main 関 数 は , Turb0, Quick と も に ま っ た く 同 じ に な っ た く 3 > keycontro ~ 3 の 関 数 は ほ と ん ど 同 じ 処 理 を す る の で , こ れ を ひ と つ の 関 138 C MAGAZINE 1991 3 0 sum 十 = va_arg (ap, i (t) : break; case 1 : sum 十 = va-arg(ap, int) : sum 十 = va_arg (ap, long) break : case 2 : sum 十 = va-arg (ap, int) ; sum 十 = va-arg (ap, long) ; sum 十 = va arg (ap, long) : break : va-end (ap) : return (sum) : 2 っ 0 2 1 1 1 ) 6 7 8 9 0 1 2 っ 0 4 5 6 7 8 9 1 2 っ 0 4 5 6 1 1 1 1 っ 0 2 2 2 2 2 2 2 っ 0 0 乙 っ 0 っ 0 っ 0 CO っ 0 っ 0 っ 0 了 終 ス セ ② ③ ④ ク ア 変 可 = %lf%n", vfunc(), 1 , 2 ) ) : vfunc(), 1 , 2 い ) : = %lf%n", vfunc(), 1 , 2 し 3 し ) ) ; Fig. 1 可 変 個 引 数 の ア ク セ ス 例 ① リ タ ー ン ア ド レ ス 2 (sw) 1 ② ③ 2L 使 用 中 の ス タ ッ ク ap vfunc(2,I,2L,3L); ① Va-start(ap, sw); ap ( 引 数 ア ク セ ス ポ イ ン タ ) は , 引 数 sw の 次 の 引 数 を 指 す よ う に セ ッ ト さ れ る 。 eva-arg(ap, int); ap の 指 す も の を int と し て 取 り 出 し , ap は 次 の 引 数 を 指 す よ う に セ ッ ト さ れ る 。 @va-arg(ap, long); ap の 指 す も の を long と し て 取 り 出 し , ap は 次 の 引 数 を 指 す よ う に セ ッ ト さ れ る 。 @va-arg (ap,long); ③ と 同 様 。 vsprintf な ど は , 引 数 の 積 ま れ て い る 番 地 ( ap ) を 受 け 取 っ て 処 理 す る 関 数 で あ る 。 「 ap が 指 し て い る と こ ろ か ら 積 ま れ て い ま す の で , そ れ を 使 っ て 処 理 し て 下 さ い 』 と い う だ け で あ る 。

月刊 C MAGAZINE 1991年3月号


イ ン ス ト ー ル メ テ ィ ア 選 択 時 の 注 意 Ver. 2. OJ て 、 は , ス モ ー ル , ミ デ ィ ア ム , ラ ー ジ の 3 つ の メ モ リ モ デ ル に 対 応 し て い ま す 。 こ の た め , フ ロ ッ ヒ 。 ー デ ィ ス ク に す べ て の メ モ リ モ デ ル て 、 使 用 て 、 き る よ う に イ ン ス ト ー ル し た 場 合 は デ ィ ス ク は 3 枚 ( シ ス テ ム 用 が 2 枚 , サ ン プ ル 用 が 1 枚 ) に な り ま す 。 Fig. 1 ( 1 ) 参 照 。 ー 記 の イ ン ス ト ー ル て 、 作 成 さ れ た デ ィ ス ク を 使 用 す る 場 合 , リ ン ク を 行 う と き に は 1 枚 目 の デ ィ ス ク と 2 枚 目 の デ ィ ス ク と を 人 れ 替 え な け れ ば な り ま せ ん 。 こ の 不 便 さ を 解 消 す る た め に 2HD の デ ィ ス ク に か ぎ り , 特 定 の メ モ リ モ デ ル 用 の ラ イ プ ラ リ を 選 択 し て , シ ス テ ム 用 の デ ィ ス ク を 1 枚 に ま と め る イ ン ス ト ー ル を 用 意 し て い ま す (Fig. 1 ② 参 照 ) 。 メ モ リ モ デ ル の 指 定 と リ ン ク 対 象 ラ イ フ ラ リ I•. 記 の 操 作 に よ り , シ ス テ ム 用 デ ィ ス ク を 1 枚 に ま と め た も の に は , ラ イ プ ラ リ は 1 種 類 し か 格 納 さ れ て い ま せ ん 。 こ の た め , デ ィ ス ク に 格 納 さ れ て い る ラ イ プ ラ リ の メ モ リ モ デ ル と 異 な っ た メ モ リ モ デ ル を 指 定 し て コ ン パ イ ル し た 場 合 に は , リ ン ク 時 に 結 合 す る べ き ラ イ プ ラ リ が 存 在 し な い と い う エ ラ ー に な り ま す 。 154 C MAGAZINE 1991 3 ル 用 に イ ン ス ト ー ル し た 場 合 に ス モ ー ル ま た は ラ ー ジ メ モ リ モ デ よ く ま ち が え る ケ ー ス と し て , シ ス テ ム ・ ワ ン lnformation from C0mpiler Makers Fig. 2 Power C Ver. 2. OJ メ モ リ モ デ ル 指 定 の オ プ シ ョ ン を 忘 れ る と い う こ と が あ り ま す 。 こ の 場 合 は デ フ ォ ル ト の 指 定 と し て , デ ィ ス ク に ラ イ プ ラ リ の 存 在 し な い ミ デ ィ ア ム メ モ リ モ デ ル が 選 択 さ れ て し ま う た め て 、 す 。 な お , リ ン カ は コ ン パ イ ラ が 出 力 し た オ プ ジ ェ ク ト フ ァ イ ル か ら メ モ リ モ デ ル の 情 報 を 取 得 し て 上 記 の 処 理 を 行 い ま す が , こ の し く み に つ い て は 1991 年 1 月 号 を 参 照 し て く だ さ い Ver. 2. OJ に 対 応 し た 「 PED 」 PowerC 用 の エ デ イ タ と し て 販 し て お り ま す PowerEditor(PE D) が , Power C の Ver. 2. OJ に 対 応 し て 新 し く な り ま し た 。 工 デ イ タ の 中 か ら コ ン パ イ ラ を 起 動 す る 場 合 , 指 定 て 、 き る オ プ シ ョ ン と し て メ モ リ モ デ ル の 選 択 の 項 Ⅱ が 追 加 さ れ ま し た 。 こ れ ま て 、 は , デ フ ォ ル ト の メ モ リ モ デ ル ( ミ デ ィ ア ム メ モ リ モ デ ル が デ フ ォ ル ト と な っ て い る ) 以 外 の メ モ リ モ デ ル を 指 定 す る 場 合 に は 、 , 「 実 行 コ マ ン ド の 引 数 」 の と こ ろ て 、 指 定 す る か , 環 境 変 数 に 登 録 し て お く 方 法 し か な か っ た た め , 不 便 さ が 感 じ ら れ ま し た 。 こ の 度 の 変 史 て 、 独 立 し た オ プ シ ョ ン と し て 指 定 て 、 き る た め , ほ か の オ プ シ ョ ン 同 様 に 使 用 い た だ け ま す 。 な お , コ ン パ イ ル オ プ シ ョ ン の 指 定 を 選 択 し た 場 合 の メ ニ ュ ー 画 面 は , Fig. 2 に 示 す よ う に な っ て い ま す 。 Fig. 1 イ ン ス ト ー ル 時 の メ テ ィ ア 指 定 ( 1 ) 「 2HD 」 あ る い は 「 2DD 」 の 場 合 ・ 1 枚 目 テ ィ ス ク コ ン バ イ ラ テ パ ッ ガ ヘ ッ ダ ・ 2 枚 目 テ ィ ス ク リ ン カ ラ イ プ ラ リ ( 3 モ デ ル ) ・ 3 枚 目 テ ィ ス ク サ ン プ ル プ ロ グ ラ ム ( 2 ) 「 2HDS 」 , 「 2HDM 」 あ る い は 「 2HD 凵 の 場 合 ラ イ プ ラ リ ( S , M , L の う ち 選 択 し た 1 モ テ ル ) リ ン カ ヘ ッ ダ テ パ ッ ガ コ ン バ イ ラ ・ 1 枚 目 テ ィ ス ク ・ 2 枚 目 テ ィ ス ク R レ ジ ス タ を 自 動 割 当 と す る 0 オ プ ジ ェ ク ト を 生 成 す る N コ メ ン ト の ネ ス ト を 許 さ な い Knear fa 「 キ ー ワ ー ド を 有 効 と す る F 自 動 検 出 浮 動 小 数 点 ラ イ ブ ラ リ Power C Generation コ ン ノ ヾ イ ル オ プ シ ョ ン 選 択 時 の PED の メ ニ サ ン プ ル プ ロ グ ラ ム S ス タ ッ ク オ ー / ヾ ー フ ロ ー を チ ェ ッ ク し な い M ミ テ ィ ア ム メ モ リ モ テ ル J 日 本 語 対 応 す る 1 CPU が 8086 T テ パ ッ グ 情 報 を つ け な い . /fa : /mm

月刊 C MAGAZINE 1991年3月号


宣 言 の 部 分 と , 繰 り 返 し や 分 岐 の と こ ろ な ど の 制 御 構 造 の 節 目 に コ メ ン ト を 入 れ ま す 。 そ れ て 、 は , List 6 を 見 て く だ さ い 。 こ れ は オ ー ソ ド ッ ク ス な main 関 数 の 書 き 方 3 : nain() 2 : 1 : #include く stdio. h> List 7 文 字 列 操 作 の 関 数 ( コ ヒ 。 ー と 比 較 ) を 説 明 し た 方 法 て 、 , コ メ ン ト を 入 れ て 記 述 し た も の て 、 す 。 実 際 に は , List 6 は わ か り き っ た ア ル こ ま て 、 詳 し く 書 ゴ リ ズ ム の 関 数 な の て 、 , く 必 要 は な い の て 、 す が , コ メ ン ト の 入 れ 方 の 例 と し て 見 て く だ さ い main 関 数 を int 型 と し て 定 義 す る 書 き 方 1 : #include く stdiO. h> 2 : 3 : int main( void ) List 10 5 : printf("This is the C Magaz ine. 5 : 6 : printf("This is the C Magazine. %n") : return 0 : List 8 main 関 数 を void 型 と し て 定 義 す る 書 き 方 1 : #include く stdio. h> 2 : 3 : void main( void ) 5 : printf("This is the C Magazine. Yn") : List 1 1 OS に 値 を 返 す main 関 数 の 書 き 方 ( exit ) ex i t ( 0 ) : printf("This is the C Magazine. %n"); 4 : void main( void ) 2 : #include く stdlib. h> 1 : #include ßtdio. h> 7 : 6 : 3 : List 9 OS に 値 を 返 す main 関 数 の 書 き 方 ( 「 eturn ) 3 : main() 2 : 1 : #include く stdiO. h> 5 : 6 : printf("This is the C Magazine. %n"); return 0 : 126 C MAGAZINE 1991 3

月刊 C MAGAZINE 1991年3月号


最 適 化 て 、 す 。 た と え ば , List 2 に は , ス ペ ー 考 察 し ま す 。 4 を 見 る と , 生 存 期 間 を 示 す 線 が 同 じ 期 間 に ス を 読 み と ば す コ ー ド が 2 か 所 に 存 在 し て い 重 な っ て い る も の と , 重 な っ て い な い も の const ま す 。 こ れ を 別 の 関 数 と し て 抜 き 出 し て , が あ る こ と が わ か り ま す 。 i と j, j と x, x と も と の コ ー ド を 関 数 呼 び 出 し に 置 き 換 え て const は 変 更 て 、 き な い オ プ ジ ェ ク ト を 作 り y は 重 な っ て い ま す が , i と x, i と Y, j と Y は 出 し ま す 。 List 4 の 宣 言 て 、 は そ れ ぞ れ const し ま い ま す ( List 3 ) 。 重 な っ て い ま せ ん 。 の 位 置 が 異 な っ て い る こ と に 注 意 し て く だ こ う す る こ と に よ っ て , 何 度 も 現 れ る 同 生 存 期 間 が 重 な っ て い な い と い う こ と は , さ い 。 コ メ ン ト に 書 い て あ る の は そ れ ぞ れ じ コ ー ド が 1 か 所 に ま と め ら れ ま す か ら , オ 変 数 が 同 時 に 使 用 さ れ る こ と が な い と い う の 宣 言 の 意 味 て 、 す 。 プ ジ ェ ク ト コ ー ド の サ イ ズ は 減 少 し ま す 。 こ と て 、 す か ら , こ の よ う な 条 件 を 満 た し た し か し , 直 接 実 行 て 、 き る コ ー ド を 関 数 呼 び こ れ ら の う ち ci と cpi の 場 合 は 変 数 そ の も 変 数 に は 同 じ メ モ リ を 割 り 付 け る こ と が て 、 出 し に 変 換 し た の て 、 す か ら , 関 数 呼 び 出 し の が const て 、 修 飾 さ れ て い ま す か ら , 初 期 化 き る の て 、 す 。 逆 に 生 存 期 間 が 重 な っ て い る の た び に オ ー バ ヘ ッ ド が か か る こ と を 覚 悟 を 使 っ て 宣 言 と 同 時 に 値 を あ た え て お く 必 変 数 は , そ れ ぞ れ 同 時 に 有 効 な 値 を 保 持 し 要 が あ り ま す 。 そ う し な い と , あ と て 、 ci や cpi し な け れ ば な り ま せ ん 。 て い ま す の て 、 , こ れ ら を 重 ね 合 わ せ る こ と に 代 入 し よ う と し て も , そ れ は エ ラ ー に な は て き ま せ ん 。 C 言 語 に お け る 最 適 化 の 制 御 っ て し ま い ま す 。 こ の よ う に し て 変 数 の 生 死 の 期 間 を 調 べ pci そ の も の は const て 修 飾 さ れ て い ま せ ん て 変 数 を 重 ね 合 わ せ る こ と は , メ モ リ の 使 用 量 を 減 ら す だ け て 、 は な く , 変 数 を レ ジ ス ANSI 標 準 C 言 語 て 、 は キ ー ワ ー ド const と の て 、 pci へ の 代 入 は 許 さ れ ま す 。 し か し , * pci は const int 型 な の て 、 , 次 の よ う な 代 入 は タ に 割 り 付 け る と き に も 少 な い レ ジ ス タ て 、 volatile が 導 入 さ れ ま し た ( 詳 し く は ' 90 年 5 月 ェ ラ ー て 、 す 。 号 参 照 ) 。 実 は コ ン パ イ ラ は こ れ ら の キ ー ワ 最 大 の 効 率 を 上 げ る た め に 使 わ れ ま す 。 ー ド か ら 最 適 化 に つ い て の 情 報 を 得 る こ と *pci 1234 ; ー ニ サ プ レ ー チ ン イ て 、 は , 最 適 化 と の か か わ り に つ い て 考 え が て 、 き ま す 。 て み ま し よ う 。 ま ず , List 5 を 見 て く だ さ こ れ ら の キ ー ワ ー ド と 最 適 化 と の 関 係 に い 。 こ の プ ロ グ ラ ム の 8 行 目 て 、 は z に x * 3 を つ い て 考 え て み ま し よ う 。 ま た , も と も と プ ロ グ ラ ム 中 に 何 度 も 現 れ る 同 じ パ タ ー 代 入 し て い ま す 。 x は const て 、 修 飾 さ れ て い ン の コ ー ド を 抽 出 し , そ れ を サ プ ル ー チ ン 備 わ っ て い た register キ ー ワ ー ド に つ い て も に し て し ま う の が , ミ ニ サ プ ル ー チ ン 化 の ニ サ プ ル ー チ ン す る 前 の リ ス ト Fig. 3 List 1 が 呼 び 出 さ れ た と き の メ モ リ の 様 子 List 2 *func (char *p) Char char while ((c p 十 十 : p = do-someting (P) : while ((c p 十 十 : return (p) ; / * ス ペ ー ス を 読 み と ば す * / ・ \ 0 ' & & isspace(c)) / * 処 理 を し て 進 め た ポ イ ン タ を 返 す * / / * ス ペ ー ス を 読 み と ば す * / ' \ 0 ・ & & isspace(c)) / * 次 の 文 字 を 指 す ポ イ ン タ を 返 す * / / ヾ ラ メ ー タ i , j は ど こ か ( お そ ら く ス タ ッ ク 上 ) に あ る 変 数 x , y も ど こ か ( や は り お そ ら く ス タ ッ ク 上 ) に あ る ニ サ プ ル ー チ ン 化 し た 後 の リ ス ト List 3 *skipspace(char *P) Char char p 十 十 : return (p) : Fig. 4 List 1 に お け る 各 変 数 の 生 存 期 間 / * ス ペ ー ス を 読 み と ば す * / while ()c = (p) ! = ・ \ 0 ・ & & isspace(c)) ③ ④ ① ② *func (char *p) skipspace(p) : p = do-someting (p) : p = skipspace (p) : return (p) : Char / * ス ペ ー ス を 読 み と ば す / * 処 理 を し て 進 め た ポ イ ン タ を 返 す * / / * ス ペ ー ス を 読 み と ば す / * 次 の 文 字 を 指 す ポ イ ン タ を 返 す * / 116 C MAGAZINE 1991 3

月刊 C MAGAZINE 1991年3月号


CONTENTS MAR. 1991 円 引 年 3 月 4 日 ( 毎 月 一 回 一 日 発 行 ) 第 3 巻 第 3 号 通 巻 第 田 号 円 90 年 2 月 2 日 第 3 種 郵 便 物 認 可 Vol. 3 No. 3 Richard StaIImana) プ ロ ジ = 外 リ → Programnung on PLlrPOSetWarm FuzziesJ p. J. ・ Windows か ら 0S / 2 へ の 移 行 が 楽 に な る Flying Along the Migration Path 0S / 2 用 の コ マ ン ド ラ イ ン ヒ ス ト リ ュ ー テ ィ リ テ ィ Command-Line Retriever for OS / 2 Book Review フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト く 第 1 6 回 〉 低 レ ベ ル へ の 探 求 野 口 雄 平 ・ ・ Digest 0f COMPUTER LANGUAGE ・ 巻 頭 イ ン タ ビ ュ ー 07 0 5 3 6 7 2 2 3 3 3 COMPUTER LANGUAGE 提 携 記 事 COMPUTER LANGUAGE 提 携 記 事 。 = 汎 用 FEP 制 御 ラ イ フ ラ リ FEPCT 催 MS ー DOS 上 の FEP を 統 一 的 に 制 御 す る Part I ・ MS ー DOS 上 の FEP の 現 状 と 構 造 Part Ⅱ ・ FEP 制 御 の 基 礎 知 識 partm ・ 汎 用 FEP 制 御 ラ イ プ ラ リ の 作 成 ア ル ゴ リ ズ ム と テ ー タ 構 造 入 門 く 第 9 回 〉 整 列 ( 1 ) ー 単 純 な 整 列 法 近 藤 嘉 雪 オ フ シ ェ ク ト 指 向 へ の 招 待 く 最 終 回 〉 オ プ ジ ト 指 向 プ ロ グ ラ ミ ン グ 木 戸 研 ー 拡 張 C と し て の C 十 十 短 期 連 載 く 第 2 回 〉 拡 張 機 能 と し て の 「 ク ラ ス 」 龍 崎 昌 平 ・ ・ け か し な か ら ド シ り ま し た く 第 1 6 回 〉 FAT 再 訪 : の 危 険 な 罠 岩 谷 宏 ・ ・ C 言 語 フ ォ ー ラ ム 新 MS - DOS プ ロ グ ラ ミ ン ク 入 門 く 第 6 回 〉 フ ァ イ ル の 検 索 中 島 信 行 ・ C プ ロ グ ラ マ の た め の 実 践 C プ ロ グ ラ マ 養 成 講 座 く 最 終 回 〉 ア マ チ ュ ア と プ ロ の あ い だ 三 田 典 玄 の の 道 具 箱 く 第 9 回 〉 汎 用 画 面 作 成 ツ ー ル ( 9 ) 豊 国 永 健 応 用 C 言 語 C 言 言 吾 雑 学 言 冓 座 第 1 0 回 〉 最 適 化 の 技 法 ( 2 ) 乗 松 保 智 は し め て 学 ぶ C プ ロ ク ラ ミ ン ク く 最 終 回 〉 総 ま と め ( 2 ) プ ロ グ ラ ミ ン グ 高 木 聡 / 山 崎 信 行 ・ ・ C 言 語 入 門 講 座 最 新 開 発 環 境 レ ポ ー ト 画 面 作 成 ツ ー ル 「 ス ー ノ ヾ ー で 一 ぐ 」 丹 羽 信 夫 ・ C MAGA セ ミ ナ ー ル ー ム く 第 7 回 〉 c に 関 す る い ろ い ろ な こ と ( 3 ) 柴 田 望 洋 ・ プ ロ グ ラ ミ ン グ 添 削 GNU 奮 闘 記 く 第 12 回 〉 X68000 の C 言 語 を 再 考 す る 吉 野 智 興 Conference Room 円 羽 信 夫 の 発 想 快 発 く 第 3 回 〉 必 要 は 発 明 の 両 親 ・ BOOKSHOP REPORT C MAGA News Square lnformation from CompiIer Makers Readers' Room テ ィ ス ク 内 容 の お 知 ら せ EDITORS' ROOM ・ 本 記 事 中 の プ ロ グ ラ ム 名 . シ ス テ ム 名 , CPU 名 は 一 般 に 各 メ ー カ ー の 登 録 商 標 で す 。 本 文 中 で は TM , ダ マ ー ク は 明 記 し て い ま せ ん 。 ・ 本 誌 お よ び 付 録 デ ィ ス ク に 掲 載 さ れ た す べ て の プ ロ グ ラ ム は 著 作 権 法 上 , 個 人 で 使 用 す る 目 的 以 外 で 無 断 で 複 製 す る こ と は 禁 じ ら れ て い ま す 。 表 紙 ・ イ ラ ス ト レ ー シ ョ ン ・ 秋 山 育 / テ サ イ ン ・ 持 田 哲 太 田 純 ・ 93 ・ 96 ・ 103 ・ ・ 106 ・ ・ 114 ・ ・ 119 ・ ・ 131 ・ ・ 136 140 ・ ・ 145 ・ 146 ・ ・ 148 ・ 156 159 ・ ・ 160 C Ⅵ ハ E Publishe 「 : Masayoshi Son PubIishing Director: GO 「 0 Hashimoto Editor-in-Chief: Shinichi Hoshino Director 0f Ma 「 ketting: Ryo Tanii Manager of sales and Advertising: Yoshio Goshima EditoriaI and Business Offices: NS Takanawa BIdg. , 2-19-13 , Takanawa, Minato-ku, TOkyo 108 , Japan Editorial: Phone ( 03 ) 5488-1318 SaIes : Phone ( 03 ) 5488-1360 , Advertising : 「 0kyo : Phone ( 03 ) 5488-1365 0saka: Phone ( 06 ) 264-1471 Copy 「 ightC 1991 SOFTBANK Corporation. TOkyo. AII rights reserved. NO materialin this publication may be reproduced, in whole 0 「 in part, in any 行 om without permission. printed in Japan. ・

月刊 C MAGAZINE 1991年3月号


Roonm 私 の よ う な 初 心 者 も 大 勢 い る と 思 関 し て は シ ラ ン プ リ さ れ て も わ か く な っ た だ け な の で , メ リ ッ ト は ☆ 社 内 研 修 い ま す 。 最 初 の ペ ー ジ か ら 難 し く , SCD が 使 え る こ と だ け だ 。 MS-C や ら な い 。 ユ ー ザ の 泣 き 寝 入 り を 防 こ の 前 ま で , 会 社 内 の C 言 語 講 習 ー ベ ー ジ を 読 む の が 精 一 杯 で す 。 難 Turbo C な ど と の 差 は 大 き い 。 ぐ た め に も ぜ ひ 。 を 受 け て い ま し た 。 グ ラ フ ィ ッ ク し く 書 く の が り つ ば だ と 考 え て い 井 戸 直 樹 ( 岐 阜 県 ) 刈 田 保 樹 ( 東 京 都 ) 関 係 で , MS ー c の ラ イ プ ラ リ を 使 わ る の で し よ う か 。 C を 大 勢 の 人 に 勉 こ の よ う な 意 見 が 多 い の は , ☆ 圧 縮 の 特 集 ず に 3 次 元 グ ラ フ ィ ッ ク ス を 動 か す 強 し て も ら う 内 容 に し て く だ さ い 。 ュ ー ザ ー の 期 待 が そ れ だ け 大 こ と に 挑 戦 し た の で す が , は っ き 山 田 俊 ニ ( 長 野 県 ) 明 号 の 特 集 は 最 高 だ ! 大 学 き い こ と の 証 明 な の て 、 し よ う 。 確 り い っ て 落 ち こ ば れ た み た い で , コ ン ヒ 。 ュ ー タ 用 語 は 外 国 語 て 、 , の 講 義 で 圧 縮 符 号 に 関 し て 学 び , か に Ver. 2 の 評 価 を 悪 く い う 方 も な ん と も な さ け な い ! ど う し て も 横 文 字 や 複 雑 な 表 い る よ う て 、 す が , よ く な っ た と い ハ フ マ ン 符 号 化 で デ ー タ 圧 縮 す る 中 川 俊 雄 ( 大 阪 府 ) う 方 も お お ぜ い い る こ と も 事 実 て 、 プ ロ グ ラ ム も 見 た こ と は あ る が , 記 が 多 く な っ て し ま い ま す 。 ま た , す 。 ま た , 98 と は 歴 史 が 違 う の て 、 同 じ 事 柄 を 示 す の に も 違 っ た 単 語 自 分 が ふ だ ん 使 っ て い る よ う な 圧 ☆ 目 標 縮 ツ ー ル の ア ル ゴ リ ズ ム が こ が 2 ~ 3 種 類 あ る 場 合 も あ り ま す 。 す か ら , XC を 使 い 込 み そ れ を フ ィ 目 標 ! 就 職 す る ま で に 自 作 ソ な ん と か わ か り や す く と 努 力 し て ー ド バ ッ ク し て よ い も の に し て い で 詳 細 に 解 説 さ れ て い る の は 見 た フ ト を 送 る ぞ ! い ま す が , 無 理 な 訳 語 は か え っ て き ま し よ う 。 こ と が な い 。 服 田 俊 生 ( 三 重 県 ) 藤 枝 和 宏 ( 神 奈 川 県 ) 混 乱 を 招 き か ね ま せ ん 。 ☆ 夢 見 る 将 来 1 月 号 特 集 記 事 の よ う な , ア ル ±Pragma C が 再 開 ゴ リ ズ ム の 記 事 は , C プ ロ グ ラ 待 っ て ま す ! c 言 語 を 使 用 し た ソ フ ト の 開 発 を マ て 、 な く と も , FORTRAN や CO 仕 事 に し て お り ま す が , 始 め て か pragma C が 再 開 す る み た い で 期 ☆ 付 録 テ ィ ス ク に つ い て BOL, BASIC な ど , 何 か し ら の 言 ら ま だ 一 年 。 知 識 に ば ら っ き が あ り 待 し て い ま す 。 多 く の 声 を 取 り 上 語 を 知 っ て い る 方 て 、 あ れ ば そ の 考 付 録 デ ィ ス ク に つ い て で す が , 「 そ ん な こ と も 知 ら な い の 」 と 言 わ げ て 使 い や す い シ ス テ ム に 作 り 上 え 方 が 理 解 て 、 き , そ れ だ け に 反 響 私 は 本 誌 の ソ ー ス プ ロ グ ラ ム が 付 れ る こ と も あ り , こ ん な こ と で は げ て く だ さ い 。 C マ ガ の 標 準 言 語 に が 大 き い よ う て 、 す 。 C マ ガ て 、 は , C い て い る だ け で も あ り が た い 。 ソ い け な い の で は な い か と 思 い 悩 ん な り ま す よ う に 言 語 て 、 の プ ロ グ ラ ミ ン グ 方 法 は も フ ト の 評 価 版 な ど は も と も と 「 お ま で い ま す 。 C マ ガ で 一 人 前 の ソ フ ト 水 島 孝 征 ( 東 京 都 ) ち ろ ん て す が , こ の よ う な プ ロ グ 屋 に な れ る 日 を 夢 見 て 今 日 も プ ロ け 」 で あ る の で し よ う か ら , そ れ に 1 月 号 て 、 Praguma C に 関 す る ラ ム へ の 考 え 方 も 大 事 に 思 っ て い つ い て 文 句 を い う の は お か し い と ア ン ケ ー ト を 行 っ た 結 果 , 編 グ ラ ム を 組 ん で い き ま す 。 高 橋 康 成 ( 東 京 都 ) ま す 。 阿 部 慶 ー ( 京 都 府 ) 集 部 の 予 想 を 上 回 る 多 数 の 回 答 が 思 い ま す 。 、 そ う い っ て い た だ け る と た い あ り , 多 く の 読 者 に 期 待 さ れ て い ☆ 革 新 的 な 1 年 を ☆ コ ン バ イ ラ バ グ 情 報 コ ー ナ ー を る こ と を 再 認 識 し ま し た 。 さ ら に パ へ ん う れ し く 思 い ま す 。 そ の 昨 年 一 年 間 は 何 や ら 革 新 的 な こ と 「 お ま け 」 の 部 分 を 調 達 す る の は け ワ ー ア ッ プ し て 還 っ て く る Praguma 各 コ ン バ イ ラ の 「 バ グ 情 報 コ ー ナ は 何 も あ り ま せ ん で し た 。 湯 水 の っ こ う 大 変 な の て 、 す 。 付 録 デ ィ ス ー 」 を 毎 月 載 せ て 欲 し い 。 メ ー カ ー C に ご 期 待 く だ さ い ク を 見 る た び に , 少 し て 、 も み な さ こ ・ と く で た 新 製 品 も ハ ー か ら だ け で な く 読 者 ( ユ ー ザ ) か ら ±)(C と GNU C ト と も 「 こ れ っ ! 」 と い う も の は な ん の 役 に た つ も の を と 日 夜 努 力 し の 情 報 も 取 り 上 げ る よ う な も の が て い る 編 集 部 の 姿 を 思 い 浮 べ て く か っ た 。 今 年 は ど ん な 年 か わ か ら よ い 。 現 に 私 は QuickC Ver. 2.0 の な か な か XC は よ い 評 価 を し て も な い が , と ん で も な く す ご い 製 品 —setwindow( ) の バ グ を 見 つ け た 。 マ だ さ い ( ら え な い 。 GCC と 比 べ ら れ て い る せ が で て 欲 し い 。 イ ク ロ ソ フ ト は バ グ を 認 め た も の い も あ る だ ろ う が , こ れ と い っ た ☆ C マ ガ の 表 記 佐 藤 哲 哉 ( 東 京 都 ) の MS-C Ver. 6.0 で は す で に バ グ は 「 ウ リ 」 が な い た め も あ る の で は な し か し 昨 年 は OOP 元 年 と も い い だ ろ う か 。 オ プ テ ィ マ イ ズ が タ 直 さ れ て い る が , し か し QuickC で の C マ ガ の 表 記 に つ い て で す が , ど わ れ , オ プ ジ ェ ク ト 指 向 へ と サ ポ ー ト は な い よ う だ 。 私 が 指 摘 う し て 難 し い 専 門 用 語 を 多 用 し て コ で も に 田 は コ ン バ ク ト に ま と ま 全 体 が 動 き 出 し , Turbo C 十 十 も い る の で し よ う か ? 確 か に プ ロ し た 一 setwindow ( ) に 関 す る 修 正 版 は っ て い た の で , メ モ リ 2M バ イ ト の 発 売 さ れ ま し た 。 今 年 は , Win 送 る と い っ て い る が ほ か の バ グ に の 方 も 読 ま れ る こ と と 思 い ま す が , 私 に は あ り が た い 。 2.0 は た だ 大 き 156 C MAGAZINE 1991 3 ①

月刊 C MAGAZINE 1991年3月号


新 MS ー DOS プ ロ ク ラ ミ ン ク 入 門 c プ ロ グ ラ マ の た め の ン ト を 示 し ま す 。 ソ ー ス リ ス ト を 参 照 し て く だ さ い ・ デ ィ レ ク ト リ の 再 帰 検 索 ・ 標 準 入 力 を リ ダ イ レ ク ト 中 の キ ー 入 カ ・ フ ァ イ ル 属 性 の 参 照 と ア ー カ イ プ 属 性 の リ セ ッ ト ・ フ ァ イ ル 日 付 の 参 照 な お , 本 ユ ー テ ィ リ テ ィ て 、 は フ ァ イ ル を 複 び す る 前 に 複 び 先 の デ ィ ス ク の 空 き 容 量 を 確 認 し て い ま す が , そ の 判 定 に 次 の よ う な バ グ が あ り ま す 。 複 写 先 の 空 き 容 量 を 計 算 す る と き に 複 写 先 に 複 写 す る フ ァ イ ル 名 が す て 、 に 存 在 す る 場 合 , 「 空 き 容 量 十 複 写 先 の フ ァ イ ル サ イ ズ 」 を 空 き 容 煢 と 判 定 し て い ま す 。 1 . MS-DOS て 、 は フ ァ イ ル の 管 理 を ク ラ ス タ 単 位 て 、 行 う た め , 1 ク ラ ス タ = 1024 バ イ ト 複 び 先 の フ ァ イ ル サ イ ズ = 500 バ イ ト て 、 あ れ ば , 実 際 よ り 空 き 容 量 が 1024 ー 500 = 524 バ イ ト 少 な い も の と し て 判 定 し て い ま す 。 こ の バ グ が 気 に な る 方 は 修 正 し て く だ ・ 注 意 事 項 本 ユ ー テ ィ リ テ ィ は 当 初 , フ ァ イ ル の デ イ リ ー バ ッ ク ア ッ プ に 使 用 し て い ま し た 。 し か し , 複 数 デ ィ ス ク に 渡 る 複 写 を サ ポ ー ト し て い な い た め , サ イ ズ の 大 き な デ ィ レ ク ト リ の 場 合 は 一 度 複 写 す る フ ァ イ ル を 決 め て か ら , 次 回 以 降 ス イ ッ チ ー ! を 指 定 し て 起 動 す る 必 要 が あ り ま す 。 複 数 デ ィ ス ク に 渡 る 複 写 を サ ポ ー ト す れ ば も う 少 し 便 利 に な る と 思 い ま す 。 余 談 て 、 す が , 複 数 デ ィ ス ク の サ ポ ー ト は フ ァ イ ル 圧 縮 ツ ー ル が サ ポ ー ト す れ ば 非 常 に 便 利 だ と 思 い ま す 。 あ ま り 使 用 さ れ て い な い と 思 わ れ る MS ー DOS の BACKUP/ RESTORE コ マ ン ド の 代 わ り と し て 非 常 に 前 宝 す る は ず て 、 す ( LHarc は デ ス テ ィ ネ ー シ ョ ン に 複 数 デ ィ ス ク を サ ポ ー ト し て い る の て 、 し よ う か ! ? ) 。 102 C MAGAZINE 1991 3 dc 叩 y. c て 、 は 表 示 に fputs 関 数 を 使 用 し て い ま す ( も と も と の ソ ー ス は write 関 数 を 使 用 し て い ま し た ) 。 fprintf 関 数 を 使 用 す れ ば , 少 し だ け ソ ー ス が 見 や す く な る て 、 し よ う 。 EXE フ ァ イ ル の サ イ ズ を 小 さ く 抑 え る た め に た ま に こ の よ う な プ ロ グ ラ ム を 誓 く こ と が あ り ま す 。 fputs 関 数 の 使 用 に 関 し て , こ れ 以 外 の 理 山 は あ り ま せ ん 。 お わ り に 自 作 プ ロ グ ラ ム て 、 フ ァ イ ル を 処 理 す る プ ロ グ ラ ム を 作 成 す る と フ ァ イ ル の 検 索 機 能 は 欠 か す こ と が て 、 き ま せ ん 。 コ マ ン ド ラ イ ン て 、 指 定 さ れ た ワ イ ル ド カ ー ド の 展 開 だ け て 、 あ れ ば , C 言 語 に 付 属 す る ワ イ ル ド カ ー ド を 展 開 す る 関 数 ラ イ プ ラ リ setargv. obj(MS (C),wildargs. obj(Turbo C) な ど を リ ン ク す れ ば プ ロ グ ラ ム て 、 わ ざ わ ざ 処 理 す る 必 要 は あ り ま せ ん 。 し か し , プ ロ グ ラ ム 起 動 後 に 指 定 さ れ た ワ イ ル ド カ ー ド を 展 開 す る と き は プ ロ グ ラ ム て 、 の 処 理 が 必 要 て 、 す 。 ま た , デ ィ レ ク ト リ を 再 帰 的 に 検 索 す る 場 合 に も プ ロ グ ラ ム て 、 処 理 し な け れ ば な り ま せ ん 。 今 回 紹 介 し た 内 容 が み な さ ま の 自 作 プ ロ グ ラ ム 作 成 に 少 し て 、 も 役 に た て ば 幸 い て 、 す 。 【 参 考 文 献 】 TMS-DOS 3.1 プ ロ グ ラ マ ー ズ リ フ ァ レ ン ス マ ニ ュ ア ル 』 , NEC 2. TMS-DOS 3.1 マ ク ロ ア セ ン プ ラ マ ニ ュ ア ル 』 , NEC 3. TMS-DOS 3.1 ュ ー ザ ー ズ リ フ ァ レ ン ス マ ニ ュ ア ル 』 , NEC TMS-DOS 3.3B プ ロ グ ラ マ ー ズ リ フ ア レ ン ス マ ニ ュ ア ル 』 V01. 1 , V01. 2 , N EC fMS-DOS 3.3B ュ ー ザ ー ズ リ フ ァ レ ン ス マ ニ ュ ア ル 』 , NEC 「 J ー 3100 シ リ ー ズ テ ク ニ カ ル マ ニ ュ ア ル ( ソ フ ト ウ ェ ア 編 ) V3.1 』 , 東 芝 「 J ー 3100 シ リ ー ズ テ ク ニ カ ル マ ニ ュ ア ル ( ソ フ ト ウ ェ ア 編 ) V2.11 』 , 東 芝 8. TAX テ ク ニ カ ル レ ポ ー ト 』 , 翔 泳 社 rMS-DOS 工 ン サ イ ク ロ ペ デ ィ ア V01 umel シ ス テ ム 解 説 編 』 , ア ス キ ー 『 MS ー DOS ェ ン サ イ ク ロ ペ デ ィ ア V01 ume2 リ フ ァ レ ン ス 編 』 , ア ス キ ー fMicrosoftC 5.1 Optimizing Compil er User's Guide 』 , Microsoft fMicrosoftC 5.1 Optimizing CompiI er Language Reference 』 , Microsoft fMicrosoftC 5.1 Optimizing CompiI 13 . 12 . 11. 10 . 9 . 7. 6 . 5 . 4 . er Mixed Language Programming G uide 』 , Microsoft fMicrosoftC 5.1 Optimizing CompiI er Run-Time Library Reference1, 2 』 , Microsoft 『 Microsoft Macro AssembIer Progra mmer's Guide 』 , Microsoft 『 TURBO C USER'S GUIDE 』 , BOR LAND 『 TURBO C REFERENCE GUIDE 』 , BORLAND 18. TTURBO ASSEMBLER USER'S GUIDE 』 , BORLAND 『 TURBO ASSEMBLER REFERENC E GUIDE 』 , BORLAND 20. IfLSIC-86 Ver. 3.2 試 食 版 ユ ー ザ ー ズ マ ニ ュ ア ル 』 , 工 ノ レ ・ エ ス ・ ア イ シ ャ ノ ヾ ン 21. 中 島 信 行 , TMS-DOS の デ ィ ス ク 管 理 と フ ァ イ ル 復 活 ユ ー テ ィ リ テ イ 』 , 『 イ ン タ フ ェ イ ス 』 1990 年 5 月 号 22. 中 島 信 行 , 『 MS-DOS の CTRL キ ー 制 御 と 例 外 ハ ン ド ラ 』 , 『 イ ン タ フ ェ イ ス 』 1990 年 10 月 号 , 11 月 号 19 . 17 . 16 . 15 . 14 .