検索 - みる会図書館

検索対象: 月刊 C MAGAZINE 1993年8月号

月刊 C MAGAZINE 1993年8月号から 178件ヒットしました。

月刊 C MAGAZINE 1993年8月号


ll 州 0 Ⅷ ⅷ ー 譏 一 三 ロ 刀 牛 = = ロ ー 第 djgcc の 入 手 方 法 最 終 回 安 田 英 之 株 プ ロ シ ー ド 今 回 で 最 終 回 と い う こ と も あ り , 問 い 合 わ せ の 多 か っ た dJgcc 最 新 バ ー ジ ョ ン の 入 手 方 法 を 取 り あ げ ま す 。 ま た , 翻 訳 で は , GNIJ C 十 十 ラ イ プ ラ リ LJs e 「 's Guide の 未 掲 載 分 を 最 後 ま で 掲 載 し ま す 。 っ て , yshibata 氏 の 98 バ ー ジ ョ ン は , オ リ ジ ー ネ ッ ト て 、 の 所 在 を 示 し ま す 。 最 新 ノ ヾ ー ジ ョ ン に つ い て 。 ナ ル djgcc の 1.09 に 対 応 し た N バ ー シ ョ ン パ こ の djgcc 関 係 の 議 論 は , NIFTY-Serve ッ チ ( 92 年 11 月 22 日 ) が 最 新 て 、 す 。 て 、 は FFMPRO て 、 , ア ス キ ー ネ ッ ト て 、 は CO こ の バ ー ジ ョ ン は , 多 く の BBS ( 商 用 あ る MP386 て 、 , 日 経 MIX て 、 は UNIX/gnu て 、 行 わ djgcc の バ ー ジ ョ ン ア ッ プ 情 報 は , 1992 年 4 月 号 て 、 最 後 に 解 説 し ま し た が , あ れ 以 降 , い は 草 の 根 ) か ら ダ ウ ン ロ ー ド て 、 き ま す 。 T れ て い ま す 。 98 バ ー ジ ョ ン は 変 わ っ て い ま せ ん 。 し た が ま た , こ れ ら の 会 議 室 て 、 は , 386BSD や L able 1 と TabIe 2 に NIFTY-Serve と ア ス キ TabIe 3 「 GNU C 十 十 ラ イ プ ラ リ Use 「 ' s Guide 」 の 目 次 お よ び 掲 載 号 TabIe 1 djgcc の 最 新 バ ー ジ ョ ン の 所 在 (NlFTY-Serve, FFMPRO テ ー タ ラ イ プ ラ リ の 1 1 番 ) 番 号 フ ァ イ ル 名 掲 載 号 次 目 DJGCC の PC -9801 用 N バ ー ジ ョ ン の ソ ー ス フ ァ イ ル 106 DJSRC19N. ZIP 6. コ ン テ ナ ク ラ ス の プ ロ ト タ イ プ の 基 礎 1993 年 8 月 号 連 載 83 ペ ー ジ ソ ー ス フ ァ イ ル へ の バ ッ チ 105 SRPAT202. ZIP gcc2.2.2 の ソ ー ス フ ァ イ ル 4 / 4 104 SRGCC222.003 20. 複 素 数 ク ラ ス 1992 年 12 月 号 連 載 83 ペ ー ジ gcc2.2.2 の ソ ー ス フ ァ イ ル 3 / 4 103 SRGCC222.002 21. 固 定 精 度 数 1992 年 12 月 号 連 載 84 ペ ー ジ gcc2.2.2 の ソ ー ス フ ァ イ ル 2 / 4 102 SRGCC222.001 gcc2.2.2 の ソ ー ス フ ァ イ ル 1 / 4 101 SRGCC222 ℃ 00 22. ピ ッ ト 操 作 ク ラ ス 1993 年 2 月 号 連 載 75 ペ ー ジ as の ソ ー ス フ ァ イ ル 100 S 日 GAS138. 刀 P ex の ソ ー ス フ ァ イ ル 99 SRFLX237. ZIP 1992 年 12 月 号 連 載 85 ペ ー ジ 23. 乱 数 生 成 子 と そ れ に 関 連 す る ク ラ ス di 幵 の ソ ー ス フ ァ イ ル 9 8 S R 団 F 1 15. 刀 P bison の ソ ー ス フ ァ イ ル 97 SRBSN116. ZIP 1992 年 12 月 号 連 載 88 ペ ー ジ 24. デ ー タ コ レ ク シ ョ ン binutils( 各 種 ユ ー テ ィ リ テ ィ ) の ソ ー ス フ ァ イ ル 96 SRBNUIOO. ZIP DESQview/X 開 発 用 キ ッ ト 9 5 QD DVX 1 01. 刀 P 1992 年 12 月 号 連 載 89 ペ ー ジ 25. cu 「 ses に 関 連 す る ク ラ ス ユ ー テ ィ リ テ ィ の ソ ー ス フ ァ イ ル 94 DJSRC109. ZIP 1993 年 4 月 号 連 載 60 ペ ー ジ プ ロ フ ァ イ ル 用 の ラ イ プ ラ リ と ユ ー テ ィ リ テ ィ 26. リ ス ト ク ラ ス 93 DJPRF109. ZIP ラ イ プ ラ リ の ソ ー ス フ ァ イ ル 92 DJLSR109. ZIP 1993 年 4 月 号 連 載 63 ペ ー ジ 27. 連 結 リ ス ト ク ラ ス 基 本 グ ラ フ ィ ッ ク ス ラ イ プ ラ リ 91 DJLGR109. ZIP C 十 十 と Ob ective-C の 実 行 形 式 90 DJGP0222. Z 旧 gcc の バ イ リ と ド キ 0 メ ン ト 1993 年 2 月 号 連 載 79 ペ ー ジ 28. べ ク タ ク ラ ス 89 DJGCC222. ZIP as の バ イ ナ リ 88 DJGAS138. ZIP 1993 年 4 月 号 連 載 64 ペ ー ジ 29. 日 ex ク ラ ス 丿 ア ル モ ー ド で の gcc の フ ロ ン ト エ ン ド 87 DJG16222. 刀 P 刊 ex の バ イ ナ リ 86 DJFLX237. ZIP 1993 年 4 月 号 連 載 66 ペ ー ジ 30. ス タ ッ ク ク ラ ス 80387 工 ミ ュ レ ー タ 85 DJEMU109. ZIP 基 本 環 境 に 関 す る ド キ ュ メ ン ト 1993 年 4 月 号 連 載 67 ペ ー ジ 31. キ ュ ー ク ラ ス 84 DJDOC109. 刀 P 基 本 開 発 環 境 83 DJDEVI 09. 刀 P 1993 年 6 月 号 連 載 100 ペ ー ジ 32. 双 方 向 キ ュ ー ク ラ ス bison の バ イ ナ リ 82 DJBSNI 16. Z 旧 テ キ ス ト ウ イ ン ド ウ ラ イ プ ラ リ 8 1 A EWIN 1 01 . 乙 P 33. 集 合 ク ラ ス の プ ロ ト タ イ プ 1993 年 6 月 号 連 載 102 ペ ー ジ ス レ ッ ド ベ ー ス の タ ス ク ラ イ プ ラ リ 80 A ETS K 1 01 . 乙 P cu 「 ses ラ イ プ ラ リ 79 AECURIOI . ZIP 34. 優 先 度 つ き キ ュ ー ク ラ ス の プ ロ ト タ イ プ 1993 年 6 月 号 連 載 101 ペ ー ジ RS232C ラ イ プ ラ リ 78 AEASYIOI . ZIP DJGPP 1 .09 フ ァ イ ル 一 覧 な ど 77 D 』 DX109. 刀 P 35. バ ッ グ ク ラ ス の プ ロ ト タ イ プ 1993 年 6 月 号 連 載 103 ペ ー ジ 36. マ ッ プ ク ラ ス の プ ロ ト タ イ プ 1993 年 6 月 号 連 載 101 ペ ー ジ TabIe 2 djgcc の 最 新 バ ー ジ ョ ン の 所 在 ( ASCI ト NET , POOL(msdos)) 37. GNU/UNIX getopt 関 数 の C 十 十 版 1993 年 8 月 号 連 載 82 ペ ー ジ 説 明 番 号 フ ァ イ ル 名 1993 年 8 月 号 連 載 88 ペ ー ジ 38. 完 全 八 ッ シ ュ 関 数 生 成 器 DJGCC 1 ℃ 9N PC ー 9801 用 パ イ ナ リ 形 式 6253 d)98nbr2 」 zh DJGCC 1 ℃ 9 対 応 の PC -9801 用 ソ ー ス フ ァ イ ル ( バ ー シ ョ ン N ) 1993 年 8 月 号 連 載 88 ペ ー ジ 6102 dJgpp98n 」 zh 39. 今 後 に 残 さ れ た 仕 事 な ど djgcc 詳 解 講 座 ・ H 0 GCC World 81

月刊 C MAGAZINE 1993年8月号


EDITORSV 000M 次 号 予 告 >9 月 号 ( 8 月 18 日 発 売 ) 即 戦 力 ア ッ プ / 実 践 C テ ク ニ カ ル フ ァ イ ル VoI. 2 マ ウ ス ・ RS ー 232C ・ 入 出 力 関 係 ほ か 特 別 付 録 5"2HD 2 大 新 連 載 ス タ ー ト ・ お 役 に 立 ち ま す 「 C 十 十 実 力 ゼ ミ 」 ( 仮 題 ) >Lisp 風 バ ッ チ 言 語 「 BONZ 」 C 言 語 用 G 構 築 ラ イ プ ラ リ ・ 本 領 発 揮 「 MS ー DOS 非 公 開 情 報 詳 説 」 ( 仮 題 ) rEZM/indow Maker 」 体 験 版 脳 天 気 シ ュ ー テ ィ ン グ ゲ ー ム 「 ぐ る ぐ る 」 本 誌 掲 載 ソ ー ス プ ロ グ ラ ム COMPUTER LANGUAGE 提 携 記 事 A Chameleon CIass in C 十 十 米 国 版 Bo 日 and PascaI Ver. 7℃ な お , 予 告 内 容 を 変 更 す る 場 合 が あ り ま す 。 特 集 ー 好 評 連 載 98 & DOS / V ゲ ー ム プ ロ グ ラ ミ ン グ C 言 語 プ ロ グ ラ ミ ン グ レ ッ ス ン 実 践 ア ル ゴ リ ズ ム 戦 略 D r. 望 洋 の プ ロ グ ラ ミ ン グ 道 場 編 集 後 記 ◇ 「 私 は 王 蟲 か ? 」 と い う 先 ◇ 高 輪 か ら 日 本 橋 浜 町 に 移 ◇ 最 近 コ ン ヒ 。 ュ ー タ 関 連 の ◇ 「 新 し い の と 古 い の と , 跳 ◇ 編 集 部 に Mac が 導 入 さ 転 し て は や 2 か 月 近 い 。 直 線 品 物 を 買 う と , そ の と き は , 月 の 編 集 後 記 に 書 い た と こ ね 返 っ て く る と き の 伸 び の れ た 。 Centris 650 だ 。 と は ろ , 編 集 部 内 外 か ら 「 お 前 の 距 離 に す る と 我 が 家 に 近 づ 「 あ ~ い い 買 物 を し た 」 と 思 違 い が 一 目 瞭 然 だ ろ 」 テ ニ い う も の の , 私 に は 性 能 が ス ボ 、 一 ル 2 個 を ア ス フ ァ ル ど こ が 王 蟲 だ ! 王 蟲 は 人 い い マ シ ン な の か 何 な の か い た が , 乗 り 換 え の 関 係 て 、 っ て い て も 数 か 月 た っ と ト 上 て 、 弾 ま せ な が ら ( ホ ) さ わ か ら な い 。 み ん な が 嬉 し 「 し ま っ た 。 も う 少 し 待 て ば 間 に 汚 さ れ た 地 球 を き れ い 通 勤 時 間 は ほ ば 同 じ 。 し か そ う に 触 っ て い る の を 見 て 良 か っ た 」 と 後 悔 す る こ と に し て い る ん だ ぞ 。 王 蟲 に ん は そ う い っ た 。 自 分 の ラ し , 期 侍 し た と お り 食 文 化 い て も , 何 を し て い る の か ケ ッ ト の ガ ッ ト さ え 買 っ て は 一 挙 に グ レ ー ド ア ッ プ ! が 多 い 。 FAX モ デ ム も 外 付 失 礼 だ ! 」 と 非 難 を 浴 び て か ら 何 年 も 張 り 換 え た こ と わ か ら ず 蚊 帳 の 外 。 ど う も ー ド デ ィ ス ク も ど ん ど し ま っ た 。 ど う せ 私 は , た だ 食 事 に 不 自 由 す る こ と は な の な い , ど 素 人 の 私 に は 差 ん 安 く な っ て い る 。 ポ ー ナ あ の 操 作 性 が 好 き に な れ な 地 球 を 汚 す こ と し か て 、 き な く な っ た 。 そ の 証 拠 に 高 輪 ス が 出 た ら カ ラ ー イ ン ク ジ い た だ の 人 間 て 、 す よ 。 え , が ま る て 、 わ か ら な い 。 「 新 し い 。 し か し こ れ も 世 の 流 れ , 時 代 は ほ と ん ど 夜 食 を 喰 わ い ほ う が ボ 、 一 ル は き れ い だ 似 た よ う な Windows の ほ な か っ た 寝 ぐ せ 頭 の 編 集 R ェ ッ ト プ リ ン タ を 購 入 す る そ ん な こ と い っ て い る ま に う は , 触 れ る よ う に な り た 予 定 だ っ た が , い ま し ば ら け ど な あ 」 と 思 い な が ら 悩 机 の 上 を 片 付 け ろ , て ・ ・ は 数 百 円 の う な 丼 を 嬉 し そ く 待 っ こ と に し よ う 。 ( 洋 ) う に 食 べ て い る 。 ん て 、 し ま っ た 。 い も の だ 。 (JUN) ( ホ ) わ か り ま し た 。 (TEN) 発 行 人 橋 本 五 郎 編 集 人 稲 葉 俊 夫 発 行 所 ソ フ ト バ ン ク 株 式 会 社 出 版 事 業 部 〒 103 東 京 都 中 央 区 日 本 橋 浜 町 3-42 ー 3 ソ フ ト バ ン ク ス ク ウ ェ ア 編 集 部 ・ TEL03 ( 5642 ) 田 88 / 出 版 営 業 部 ・ TEL03 ( 5642 ) 8 田 0 / 広 告 営 業 部 ・ TEL03 ( 5642 ) 引 Ⅱ 編 集 長 星 野 慎 ー 副 編 集 長 宮 田 洋 一 流 王 天 編 集 渡 邊 淳 一 高 森 昭 安 広 告 天 谷 修 平 斎 藤 誠 一 郎 安 枝 奈 摠 子 校 正 ( 有 ) ア レ フ デ ザ イ ン 持 田 哲 花 本 浩 一 赤 井 晴 美 機 部 進 若 江 啓 子 監 修 石 田 晴 久 印 刷 凸 版 印 刷 株 式 会 社 / 写 植 株 式 会 社 風 芽 0 円 93 雑 誌 国 325-8 (Yas) プ ロ ク ラ ム ・ ノ ヾ グ の お 問 い 合 わ せ 03 ( 5642 ) 8188 月 刊 MAGAZINE 8 月 号 ・ 掲 載 記 事 , プ ロ グ ラ ム に つ い て の ご 質 問 は , 月 曜 日 か ら 金 曜 日 の 午 後 4 時 か ら 6 時 ま て 、 受 け 付 け て お り ま す 。 そ の 他 の 時 間 帯 は ご 容 赦 く だ さ い 168 C MAGAZINE 1993 8 平 成 5 年 8 月 一 日 発 行

月刊 C MAGAZINE 1993年8月号


第 29 回 ク イ ー ン プ ロ プ レ ム ・ エ ン プ レ ム 吉 柄 貴 樹 今 回 の 「 L パ ズ ル 」 は , ヒ 。 ー ス の 裏 返 し を 考 え な く て い い の て 、 , ペ ン ト ミ ノ を 解 く よ り も す っ と 楽 だ 。 し た が っ て , 全 検 索 て 、 解 い て も た い し て 時 間 は か か ら な い が , あ る こ と に 気 づ け ば 大 幅 に 検 索 量 を 減 ら す こ と が て 、 き る の て 、 , こ れ を 考 え て み る の も お も し ろ い て 、 あ ろ う 。 【 5 月 号 の ノ ヾ ズ ル 】 Fig. 1 の よ う に 縦 4 , 横 2 の マ ス 目 を 作 る 。 乗 ら な い 」 ク イ ー ン 配 置 が 可 能 に な る か 。 そ こ の 中 に ・ を 1 個 ず っ 置 く が , そ の 置 き 方 で の 組 み 合 わ せ を 探 し , さ ら に そ れ に 存 在 す Fig. 1 に 示 し た A , B, C, D4 種 類 が で き る 。 る 解 の 数 を 求 め て ほ し い 。 そ し て そ の 中 で , さ て , こ の 中 か ら た と え ば , AI 枚 , B2 解 の 数 が い ち ば ん 少 な く な る A , B, C, D の 枚 , C4 枚 , DI 枚 の 合 計 8 枚 を 選 び , Fig. 2 の 組 み 合 わ せ と そ の 解 の 数 を 答 え て く だ さ い 。 ク イ ー ン の 配 置 が , 回 転 や 裏 返 し に し て よ う に 並 べ て み た 。 こ れ を 8X8 の チ ェ ス 盤 , さ ら に ・ を ク イ ー ン の 駒 だ と 考 え る と , Fig. 同 じ に な る も の は , 別 の 解 と し て 数 え な い 2 の ナ ナ メ 線 の と こ ろ で た が い に 「 効 い て 」 い こ と に す る 。 る こ と に な る 。 こ れ で は ク イ ー ン プ ロ プ レ A ~ D で 正 方 形 を 作 る よ う な 並 べ 方 ( つ ま ム と し て は 失 敗 で あ る ( な お , チ ェ ス の ク イ り , 正 方 形 の 8 畳 の 部 屋 の 畳 の 並 べ 方 ) は Fig. ー ン は 将 棋 の 飛 車 と 角 行 を い っ し ょ に し た 2 の か ぎ り で は な い こ と に 注 意 。 ま た , A ~ D 動 き が で き る ) 。 で ひ と つ も 使 わ な い も の が あ っ て も か ま わ で は , A, B, C, D の ど ん な 組 み 合 わ せ を な い 。 選 ん だ ら , 8X8 盤 上 で の 「 た が い に 効 き 筋 に Fig. 1 4 種 類 の 縦 4 ・ 横 2 の マ ス 目 0 0 5 月 号 の 解 答 A, B, C, D の 組 み 合 わ せ は , Table 1 の 11 通 り あ り , す べ て そ の 解 の 数 は 1 て 、 あ る 。 対 称 解 の 排 除 に 関 し て は , 皆 さ ん , い ろ い ろ に 解 釈 さ れ た よ う だ 。 よ っ て , A と B お よ び C と D は 表 裏 の 関 係 に あ る の て 、 こ れ を ま と め る , と い っ た 条 件 を 取 り 入 れ て い る 解 答 も 正 解 と し た 。 ほ と ん ど の 方 が , あ ら か じ め ク イ ー ン プ ロ プ レ ム を 満 足 す る ク イ ー ン の 配 置 を す べ て 求 め て か ら , 各 ビ ー ス に 分 け て 解 い て い TabIe 1 5 月 号 の 解 答 No A 0 0 2 0 0 2 2 0 2 0 3 0 0 3 2 1 2 1 4 2 2 4 Fig. 2 8 枚 の マ ス 目 の 置 き 方 新 第 ■ ■ 0 ー 第 ー ■ ■ 0 ■ ■ ■ 第 叮 ■ ■ 00 ■ ■ ■ ・ ■ ■ ■ ■ 0 ■ 第 0 0 4 0 CD 6 0 3 2 0 5 0 2 0 4 6 0 0 6 2 ( 0 5 0 2 0 1 2 Ø 4 広 ) 6 7 8 9 し 注 意 が 必 要 て 、 す 。 た と え ば , 分 割 し た と 渥 美 暢 さ ん の 解 答 き に A ~ D の 枚 数 が そ れ ぞ れ 1 , 0 , 4 , 3 枚 に ( プ ロ グ ラ ム は 付 録 テ ィ ス ク PU 〃 LEOI ℃ ) な っ た と す る と , A ~ D の 枚 数 が 0 , 1 , 3 , 4 枚 て 、 も 同 じ 解 が 生 成 て 、 き ま す 。 そ の た め , A, B, C, D の す べ て の 組 み 合 わ せ を 生 成 し て ク イ ー ン プ ロ プ レ ム を 解 く と い う の こ の プ ロ グ ラ ム て 、 は A > = B ( A = = B の と き は C > = D ) の 組 み 合 わ せ の ほ う を カ ウ ン ト し は た い へ ん そ う な の て 、 , 逆 に ク イ ー ン プ ロ プ レ ム を 先 に 解 い て か ら , そ の 解 を A, B, て い ま す 。 ま た , ひ と つ の 解 を 分 割 し て い る と き に C, D て 、 分 割 す る 方 法 を 調 べ る こ と に し ま し 同 じ A ~ D の 組 み 合 わ せ が 複 数 回 現 れ る こ と た 。 こ の 問 題 て 、 は , A と B, C と D を そ れ ぞ れ 交 換 し て も 同 じ 解 ( の 対 称 解 ) が 生 成 て 、 き が あ り ま す が , こ れ は 1 回 と カ ウ ン ト し な け れ ば な り ま せ ん 。 実 行 時 間 は 0.17 秒 て 、 し た 。 る た め , 解 の 数 を カ ウ ン ト す る と き に は 少 0 1 156 C MAGAZINE 1993

月刊 C MAGAZINE 1993年8月号


開 発 に Turbo [email protected] を 使 用 し た い が 、 テ キ ス ト べ ー ス の ア プ リ ケ ー シ ョ ン し か 開 発 て 、 き な い ん じ ゃ ・ ・ ・ ・ ・ そ ん な 開 発 者 の 方 々 の 悩 み を 解 決 し て く れ る 侍 望 ー ■ の 製 品 が 登 場 し ま し た 。 TVG は 、 BC 十 十 AFX3.0 に 付 属 の D OS 用 画 面 制 御 ク ラ ス ラ イ プ ラ リ て 、 あ る Turbo Vision ⑩ を グ ラ フ ィ カ ル な ア プ リ ケ ー シ ョ ン が 作 成 可 能 な フ レ ー ム ワ ー ク へ と パ ワ ー ア ッ プ さ せ ま す 。 オ リ ジ ナ ル に 手 を 加 え る こ と な く 、 C 十 十 の 利 点 を い か し て 拡 張 。 あ な た は 使 用 す る ク ラ ス 名 を 変 更 す る だ け て す 。 Turbo [email protected] の 数 々 の 優 れ た 機 能 拡 ( 統 一 さ れ た 操 作 環 境 の 提 供 、 状 況 感 知 型 ヘ ル プ 、 リ ソ ー ス フ ァ イ ル 、 コ レ ク シ ョ ン ク ラ ス 等 々 ) は そ の ま ま に 、 画 面 表 示 部 分 を グ ラ フ ィ カ ル に 拡 張 し ま す 。 グ ラ フ ィ ッ ク の 制 御 に は ポ ー ラ ン ド 社 の BGI ラ イ プ ラ リ を 使 用 。 信 頼 性 が 高 く 、 高 速 な グ ラ フ ィ カ ル ア プ リ ケ ー シ ョ ン の 開 発 を 可 能 に し ま す 。 納 期 短 縮 、 品 質 の 向 上 を 目 指 し て い る C + 十 開 発 者 の 方 々 に お す す め の ク ラ ス ラ イ プ ラ リ て 、 す 。 ・ 対 応 コ ン パ イ ラ BC 十 十 AFX3.0 (Turb0 Vision 匚 00 ) ・ 対 応 機 種 NEC PC ー 9800 ・ PC ー 98 ・ PC ー H98 シ リ ー ズ 、 EPSON PC ー 286 ・ 386 シ リ ー ズ ( DOS / V 動 作 マ シ ン 版 開 発 予 定 ) ・ メ デ ィ ア 3.5 " 2HD 、 5 " 2HD イ ß' ロ つ 卞 、 ・ ・ 1 フ ー ェ ッ ク ホ ッ ク ス ー ジ オ ホ 、 タ 、 ・ Solid 0 」 nn リ ロ T i 1 set イ ン ブ ッ ト ラ イ ン Readers' ① ① m モ ニ タ 募 集 読 者 レ ゼ ン 郵 便 屋 さ ん Ver. 2.0 BORLAND C 十 十 Ver. 3. O 2 名 提 供 : ホ ー ラ ン ド ( 株 ) 1 名 提 供 : ( 有 ) ガ リ ノ ヾ ー TEL 03 ( 5350 ) 9370 TEL 0587 ( 52 ) 3030 郵 便 屋 さ ん 2.5 ) DOS 環 境 ・ Windows 環 境 の 両 方 に 対 応 し た プ ロ 仕 様 の 全 国 の 郵 便 番 号 に 対 応 し た 住 所 , 市 外 局 番 を 収 録 し た テ C & C 十 十 コ ン バ イ ラ キ ス ト 形 式 の デ ー タ ラ イ プ ラ リ ( 5 ′ ′ 2HD ) CPAD Ver. 2.5 2 名 『 COMPUTER LANGUAGEJ 提 供 : オ オ ッ カ 商 事 提 供 : C マ ガ ジ ン 編 集 部 2 名 TEL 0878 ( 51 ) 1807 : 、 : OMA 町 LANGU, Å GE 汚 92 挑 ー 00 上 」 上 」 」 上 」 上 」 工 亠 」 上 」 凵 、 対 0 凵 」 ・ ニ 」 - 凵 = 、 工 上 を レ 紀 一 気 十 朝 は TVG ve 「 .1 ℃ 0 ( 組 み 込 み ロ イ ヤ リ テ ィ 無 料 ・ 全 ソ ー ス 付 き ) 標 準 価 格 \ 28 , 000 ( 税 別 ) ・ お 求 め は 、 お 近 く の ノ ヾ ソ コ ン ソ フ ト 取 扱 店 、 又 は 弊 社 へ 直 接 お 願 い 致 し ま す 。 デ モ デ ィ ス ク ( 5 " 2HD ) と カ タ ロ グ を ご 希 望 の 方 は 800 円 相 当 の 切 手 、 小 為 替 、 ま た は 現 金 書 留 に て お 申 し 込 み く だ さ い 。 ※ 広 告 に 記 載 さ れ て い る 商 品 名 は 、 各 社 の 商 標 ま た は 登 録 商 標 で す 。 C 言 語 プ ロ グ ラ ム の ド キ ュ メ ン ト の 自 動 作 成 , お よ び PAD 図 に よ る プ ロ グ ラ ム 解 析 を 行 う 開 発 支 援 ツ ー ル ( PC -9801 シ リ ー ズ 用 ) ・ 応 募 の 注 意 ◇ 綴 じ 込 み の 葉 書 に 必 要 事 項 を 明 記 の う え こ 間 中 に 2 回 の モ ニ タ レ ポ ー ト ( 4 字 原 稿 用 応 募 く だ さ い 。 記 入 も れ や モ ニ タ 番 号 が 複 紙 2 枚 ) を 提 出 し て い た だ き ま す 。 レ ポ ー ト 数 記 入 さ れ て い る 場 合 , 綴 じ 込 み 葉 書 以 外 は 誌 上 発 表 ま た は 編 集 企 画 の 参 考 に さ せ て で の こ 応 募 は 無 効 と さ せ て い た だ き ま す 。 い た だ き ま す 。 ◇ モ ニ タ に 選 ば れ た 方 は , 6 か 月 間 の モ ニ タ 期 ◇ 締 め 切 り は 8 月 18 日 必 着 で す 。 ① 巻 頭 イ ン タ ビ ュ ー 「 peter Deutsch 」 ⑩ 三 田 典 玄 の ラ ン ダ ム ア ク セ ス ② Programming on Purpose ⑩ C 言 語 フ ォ ー ラ ム ③ 提 携 記 事 「 1992 年 JOLT 賞 の 発 表 」 $ANSI C ー more @醍携記事 「 ソ フ ト ウ ェ ア 窈 直 は ~ 」 $Dr. 望 洋 の プ ロ グ ラ ミ ン グ 道 場 し 込 み 葉 書 裏 面 の ⑤ フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト ⑩ X68k 活 用 講 座 ー 記 事 評 価 ア ン ケ ー ト ⑥ 特 集 「 実 践 C テ ク ニ カ ル フ ァ イ ル vo に 1 」 $News Square に は 右 記 の 数 字 を こ ⑦ 速 報 「 Bo and C 十 十 Ver. 3.1 」 ⑩ フ ィ ン ロ ー ダ の あ つ ば れ ご 意 見 番 ⑧ djgcc 詳 解 講 座 ⑩ C マ ガ 電 脳 ク ラ ブ 記 入 く だ さ い 。 ⑨ ゲ ~ ム プ ロ グ ラ ミ ン グ 大 作 戦 @丹 羽 信 夫 の 迷 走 プ ロ グ ラ ミ ン グ ⑩ プ ロ グ ラ ミ ン グ レ ッ ス ン @lnformation from Compiler Makers ⑩ 実 践 ア ル ゴ リ ズ ム 戦 略 @Readers' Room ⑩ 新 MS ー DOS プ ロ グ ラ ミ ン グ 入 門 A P R . BAR 〇 Computer 株 式 会 社 バ ロ ン 〒 川 東 京 都 豊 島 区 池 袋 2 ー 40 ー 2 ス ペ ー ス GI ビ ル 7 階 谷 ( 03 ) 397 ト 8686 FAX ( 03 ) 397 ト 7 引 5 営 業 時 問 / 午 前 9 : 00 ~ 午 後 5 : 30 ( 月 ~ 金 祝 ・ 祭 日 除 く ) く 資 * 黠 青 求 番 号 166 〉 C MAGAZINE 1993 8 166

月刊 C MAGAZINE 1993年8月号


ln 川 a ⅱ な om 町 ⅱ 計 Makers 工 ル ・ エ ス ・ ア イ ジ ャ ノ ヾ ン LSI C -80 今 回 は , LSI C ー 80 の ユ ー ザ ー ズ マ ニ ュ ア ル ( 第 2 版 1992 年 6 月 ) の 正 誤 表 を お 知 ら せ し ま す 。 ペ ー ジ な ど は 古 い マ ニ ュ ア ル を も と に し て い ま す 。 C 叩 yright の 直 前 に 以 下 の 文 を 追 加 し て く だ さ い 。 「 製 品 の 仕 様 お よ び 本 書 の 内 容 に 関 し て は 性 能 向 上 の た め 将 来 予 告 な し に 変 更 さ れ る こ と が あ り ま す 。 』 73 ペ ー ジ 『 こ の 例 て 、 は , ン ラ イ ン 関 数 を 直 接 使 わ ず , マ ク ロ 定 義 を か ぶ せ て い ま す 。 プ ・ ・ ・ ・ ・ ・ 』 の 部 分 を 以 下 の よ う に し て く だ さ 「 こ の 例 て 、 は , イ ン ラ イ ン 関 数 を 直 接 使 わ ず , マ ク ロ 定 義 を か ぶ せ て い ま す 。 プ ・ ・ ・ ・ ・ ・ 』 1 2 9 ペ ー ジ nr80 / rz80 の 演 算 子 の 解 説 が 加 わ り ま す 0Fig. 1 の よ う に し て く だ 132 べ ー ジ fORG 絶 対 式 と リ ロ ケ ー タ ブ ル な 式 。 た だ し , リ ロ ケ ー タ ブ ル な 式 は ORG が 所 属 し て い る セ グ メ ン ト と 同 一 な セ グ メ ン ト に 所 属 し て 「 1 . コ ン フ ィ ギ ュ レ ー シ ョ ン フ ン ク ウ イ ン ド ウ 』 の 間 に f-gfile い な け れ ば な り ま せ ん 。 』 ァ イ ル の 名 前 が lsic86. cfg か ら lcc COM BASE の 後 に , 次 の 文 を 加 え て く だ さ い デ バ ッ グ 情 報 を file に 出 力 し ま を 追 加 し て く だ さ い 80 に な り ま ・ ・ ・ ・ 』 の 下 線 部 lsic86. 「 ま た , ラ ベ ル は 同 一 フ ァ イ ル 中 す 。 file が 省 略 さ れ た と き に は 標 cfg を lsic80. cfg に 変 更 し て く だ さ て 、 定 義 さ れ な け れ ば な り ま せ ん 。 』 180 ペ ー ジ TC-bx) C-ffile]Lzg!j-!gl C-iX ] の 部 分 を r-g Cfile] [ ー Ⅸ ] C-m Cfile]] C-n Cfile]]J 「 CODE CSEG PUBLIC AT 392 ペ ー ジ デ バ ッ グ 情 報 を file に 出 力 し ま 以 下 の 文 を 追 加 し て く だ さ い PAGEBOUND 』 を 「 CODE CS の 下 線 部 , C-gfile] を Fig. 2 の よ う す 。 file が 省 略 さ れ た と き に は 標 こ C-g Cfile]] に 変 更 し て く だ さ EG PUBLIC 』 に 変 更 し て く だ さ 『 3. switch の 制 御 式 に は long ( 32 ビ ッ ト ) の 式 を 書 く こ と は て 、 に 変 更 し て く だ さ い き ま せ ん 。 効 率 上 の 問 題 か ら こ 180 ペ ー ジ の 変 更 に と も な い 図 9.1 の 「 常 駐 デ ー タ 部 』 と 「 バ の よ う な 仕 様 に し て い ま す 。 』 Fig . 1 129 べ ー ジ の 修 正 [ マ ニ ュ ア ル で の 表 記 ] 使 用 可 能 な 演 算 子 に は , 以 下 の も の が あ り ま す 。 HIGH LOW 単 項 の 十 * / M 0 D S H R S H L 十 EQ N E く > LE く = GE LT く GT > NOT AND OR XOR [ 修 正 後 ] 使 用 可 能 な 演 算 子 に は 以 下 の も の が あ り ま す 。 n 「 80 / rz80 の 演 算 子 は C と ほ ぼ 同 じ で す 。 n 「 80 / 「 Z80 「 80 HIGH LOW ! ~ 単 項 の 十 HIGH LOW 単 項 の 十 * / MOD SHR SHL 十 十 EQ : NE く > LE ぐ GE > : LT く GT > く く > > N OT く ニ > = く > AND OR XOR Fig. 2 180 ペ ー ジ の 修 正 [-bx] [-n [file]] [-gfile] [ ー Ⅸ ] [-m [file]] [-iX ] [-ffile] [-n Cfile]] [ ー Ⅸ ] [-m [file]] [-iX ] [-g Cfile]] [ ー bx] [-ffile] 154 C MAGAZINE 1993 8

月刊 C MAGAZINE 1993年8月号


特 集 実 践 C テ ク ニ カ ル フ ァ イ ル 成 す る (List 33 ) 。 PC ー 9801 系 の 場 合 , グ ラ フ ィ ッ ク デ ー タ を 保 存 す る の に 必 要 な メ モ リ 容 量 は 128K バ イ ト に も な る 。 [ 例 題 27 ] て 、 作 成 し た 関 数 て 、 は , 一 度 に 64K バ イ ト ま て 、 し か 確 保 す る こ と が て 、 き な か っ た 。 そ こ て 、 128 K バ イ ト を 4 回 に 分 け て セ ー プ , ロ ー ド す る こ と に す る 。 こ の 関 数 の 動 作 を 確 認 す る た め に は , Li st 34 の よ う な プ ロ グ ラ ム を 書 け ば 確 認 て 、 き PC ー 9801 系 て 、 は VRAM と ペ ー ジ フ レ ー ム が 同 じ ア ド レ ス に な っ て い る こ と が あ る 。 [ 例 題 28 ] の 関 数 は こ の と き の 状 態 を 考 え て い な い が , EMM フ ァ ン ク シ ョ ン 31 ( ペ ー シ フ レ ー ム 用 パ ン ク ス テ ー タ ス の 取 得 と 設 定 ) を 使 用 し て 対 応 す る こ と が て 、 き る 。 List 33 8 0 , ー ワ 0 り 0 4 ・ LO cD ー 8 0 ー 1 ワ 0 int far *src : unsi gned Char for (i = 0 : i く PLANE-NUM; i + + ) { if ((src = (unsigned char far*)EMSLock(handIe[i])) = NULL) { for (i = 0 : i く PLANE-NUM; i + + ) EMSFree(handIe[iJ) : / * 1 ラ ー の と き は EMS を 解 放 * / return ー 1 : memcpy (vram[ i], src, PLANE-SIZE) : EMSUnIock(handIe[i]) : EMSFree(handleCi]) : return 0 : List 34 、 List 33 の 関 数 の 動 作 を 確 認 す る int main(void) if (EMSInit() く の { 3 : puts ( " EMS が 使 用 で き ま せ ん . " ) : 4 : return ー 1 ; 5 : 6 : 7 : 8 : 9 : 12 : 13 : 15 : 19 : 20 : / * こ こ で グ ラ フ ィ ッ ク 画 面 に 絵 や 図 形 を 描 い て お く getch() : / * キ ー が 押 さ れ る ま で 待 っ * / / * VRAM を EMS へ 保 存 save-vram(handle) : / * こ こ で グ ラ フ ィ ッ ク 画 面 を ク リ ア す る * / getch(); / * キ ー が 押 さ れ る ま で 待 っ * / load-vram(handle) : / * EMS か ら VRAM へ 復 帰 return 0 : 参 考 文 献 ] [ 1 ] TMS-DOS 3.3 プ ロ グ ラ マ ー ズ リ フ ァ レ ン ス マ ニ ュ ア ル 』 , 日 本 電 気 [ 幻 マ イ ク ロ ソ フ ト プ レ ス 編 , 「 MS - DOS 工 ン サ イ ク ロ ペ デ ィ ア VOLUMEI 』 , ア ス キ ー 出 版 局 3 中 島 信 行 , 『 S ー DOS メ モ リ 管 理 ソ フ ト 技 法 』 , CQ 出 版 社 [ 4 ] 川 上 崚 史 , ℃ 言 語 と 拡 張 メ モ リ 』 , 工 学 図 書 [ 5 ] 上 田 哲 二 , 「 ワ ン ポ イ ン ト プ ロ グ ラ ミ ン グ 講 座 EMS メ モ リ を 使 用 す る ( 1 ) , ( 3 ) 」 , ℃ MAGAZINE 』 1990 年 9 月 号 , 10 月 号 , 1991 年 1 月 号 TabIe 4 EMS を 使 用 し た 簡 単 な メ モ リ 確 保 関 数 関 数 名 EMSlnit() EMS の 初 期 化 EMSAIIoc() EMS メ モ リ の 確 保 EMSLock() 確 保 し た EMS メ モ リ の ペ ー ジ フ レ ー ム へ の 割 り 当 て EMSUnIock() ペ ー ジ フ レ ー ム へ 割 り 当 て た EMS メ モ リ の 割 り 当 て 解 放 EMSF 「 ee( ) 確 保 し た EMS メ モ リ の 解 放 拡 張 し て い た だ き た い 。 16K バ イ ト 未 満 の サ を 解 放 す る こ と は 意 味 が あ る と 思 う 。 引 数 イ ズ を 確 保 し た い 場 合 は , プ ロ グ ラ ム を 書 は ハ ン ド ル て 、 ロ ッ ク 解 除 に 成 功 し た 場 合 は く 人 が べ ー ジ 内 の メ モ リ を 管 理 す れ ば よ い ハ ン ド ル 番 号 を , 失 敗 し た 場 合 は 0 を 返 す 。 複 数 ハ ン ド ル を 割 り 当 て た い 場 合 は , EMM ・ EMSFree( ) こ の 関 数 は [ 例 題 26 ] て 、 説 明 し た 「 ⑨ 論 理 フ ァ ン ク シ ョ ン を 駆 使 す れ ば ( そ ん な 大 げ さ ペ ー ジ の 解 放 」 を 行 う 。 こ の 関 数 を 呼 び 出 す な も の て 、 は な い が ) 可 能 だ 。 こ と に よ り ハ ン ド ル に 割 り 当 て ら れ た EMS EMM ド ラ イ バ の Ver. 4.0 に は 50 種 類 ほ ど メ モ リ は 完 全 に 解 放 さ れ る 。 引 数 は ハ ン ド の フ ァ ン ク シ ョ ン が 用 意 さ れ て い る 。 今 回 ル て 、 解 放 に 成 功 し た 場 合 は 0 を , 失 敗 し た 場 説 明 し な か っ た フ ァ ン ク シ ョ ン を 使 用 す れ 合 は 0 以 外 の 値 を 返 す 。 ば , も っ と 立 派 な 関 数 が て 、 き る は ず な の て 、 チ ャ レ ン ジ し て み て ほ し い こ て 、 説 明 し た 関 数 は , あ ま り に も 低 機 能 て 、 単 純 だ っ た 。 だ い た い 数 十 バ イ ト 確 保 し た い の に 16K バ イ ト も 確 保 さ れ て し ま う し , 一 度 に ひ と つ の ハ ン ド ル し か べ ー シ フ [ 例 題 27 ] て 、 作 成 し た 関 数 を 使 用 し て , グ レ ー ム に 割 り 当 て ら れ な い 。 「 も う 少 し ま し ラ フ ィ ッ ク 画 面 の セ ー プ , ロ ー ド 関 数 を 作 な 関 数 に 」 と お 思 い に な っ た 方 は , ど ん ど ん 74 C MAGAZINE 1993 8 機 能 サ ン プ ル プ ロ グ ラ ム の 著 作 権 に つ い て 本 特 集 に 掲 載 , お よ び 付 録 デ ィ ス ク に 収 録 し た サ ン プ ル プ ロ グ ラ ム は , 筆 者 の 意 向 に よ り Public Domain 扱 い と し ま す 。 し た が っ て , 営 利 ・ 非 営 利 目 的 の 如 何 を 問 わ す , 本 特 集 の サ ン フ - ル フ ロ グ ラ ム の 使 用 , 改 造 , 配 付 は 自 由 で す 。 た だ し , サ ン フ ル プ ロ グ ラ ム の 運 用 に あ た っ て 生 じ た 障 害 に つ い て 筆 者 , 小 誌 は 責 任 を 負 う も の で は あ り ま せ ん 。 自 己 の 責 任 の 下 に 運 用 し て く だ さ い 。 [ 例 題 28 ] グ ラ フ ィ ッ ク 画 面 の セ ー プ と ロ ー ド

月刊 C MAGAZINE 1993年8月号


新 発 売 . 〃 仮 想 メ モ リ ラ イ プ ラ リ マ ジ 、 一 ル 定 価 9 , 800 円 ( 消 費 税 別 ) C MAGA 「 マ ジ ッ ク フ ァ イ ル 」 は 小 さ な メ モ リ で 大 き な フ ァ イ ル な ど を 効 率 良 く ア ク セ ス す る た め の 、 C 言 語 プ ラ グ ラ ミ ン グ 支 援 ラ イ プ ラ リ で す 。 1 . 8086CPU で Long 長 の 仮 想 メ モ 功 く 複 数 個 扱 え ま す 2 . 仮 想 メ モ リ へ の ア ク セ ス は す べ て 関 数 を 通 じ て ア ク セ ス し ま す 。 メ モ リ プ ロ ッ ク の ロ ッ ク 等 を 意 識 す る 必 要 が あ り ま せ ん 。 3 . 仮 想 メ モ リ 内 の プ ロ ッ ク 転 送 が 瞬 時 に 行 え ま す 。 4 . 主 記 憶 、 EMS 、 XMS 、 外 部 記 憶 を 効 率 よ く 統 合 化 で き ま す 。 本 ソ フ ト に は サ ン プ ル プ ロ グ ラ ム と し て ェ デ イ タ (PicoSoft EDITOR) を 添 付 し て い ま す 。 「 マ ジ ッ ク フ ァ イ ル 」 を 使 用 し て 作 成 し た 工 デ イ タ 本 体 と エ デ イ タ の ソ ー ス コ ー ド が 含 ま れ て い ま す 。 ( ラ イ プ ラ リ ソ ー ス コ ー ド は 含 ま れ て お り ま せ ん ) DOS 環 境 下 MS-C Ver. 5.1 以 上 , Latti ・ 対 応 コ ン パ イ ラ MS-C Ver. 6.0 以 上 ce C Ver. 4.1 (DOS/DUAL) , BorIan Quick C Ver. 2.0 d C 十 十 Ver. 3.0 , Watcom C / 386 V Turbo C 十 十 Ver. 1 . 01 く 期 間 > ' 93 年 9 月 末 日 ま て 、 er. J9.0 Windows 環 境 下 MS-C Ver. 5.1 以 上 , く 価 格 > CCF/LITE Borland C 十 十 Ver. 3.0 , VISUAL B CCF 十 BGM/Kit ASIC for Windows Ver. 2.0 間 い 合 わ せ 先 株 テ ィ ッ プ ス ・ 対 応 ネ ッ ト ワ ー ク Novell NetWare, 〒 111 東 京 都 台 東 区 元 浅 草 4 ー 4 ー 9 MS-Networks, PC-Networks, LAN TEL 03 ( 5828 ) 0511 Manager く 価 格 > 第 5 回 Wingnut セ ミ ナ ー AccSys 98 , 000 円 「 GNU Emacs Lisp 活 用 」 コ ー ス 198 , 000 円 AccSys with SOURCE Wingnut セ ミ ナ ー 事 務 局 AccSys/ LAN 248 , 000 円 Wingnut セ ミ ナ ー 事 務 局 は , FSF か ら 配 AccSys/LAN with SOURCE 498 , 000 円 問 い 合 わ せ 先 ラ イ フ ボ 、 一 ト 株 布 さ れ て い る , ス ク リ ー ン エ デ イ タ GNU E macs 用 の カ ス タ マ イ ズ 言 語 「 GNU Emacs L 〒 101 東 京 都 千 代 田 区 神 田 錦 町 3 ー 6 isp 」 に 関 す る セ ミ ナ ー を 開 催 す る 。 TEL 03 ( 3293 ) 4711 く 会 場 > 東 京 都 千 代 田 区 平 河 町 1 ー 1 ー 1 「 CCF/LITE 」 #SRA 本 社 3 階 セ ミ ナ ー ル ー ム 「 CCF 十 BGM/Kit 」 く 日 時 > 1993 年 7 月 30 日 ( 金 ) 株 テ ィ ッ プ ス 9 : 30 ~ 17 : 00 ( 9 : 10 よ り 受 付 ) く 参 加 費 > 35 , 000 円 ( 資 料 代 を 含 む ) 株 テ ィ ッ プ ス は , 同 社 の C 言 語 ラ イ プ ラ リ の 販 売 本 数 3 , 000 本 を 記 念 し て , 「 3000 TH く 締 め 切 り > 1993 年 7 月 26 日 ( 月 ) ま た は , ANKS Special Library 』 と し て 「 CCF/LI 申 し 込 み 者 が 定 員 ( 12 名 ) に TE 」 を 300 本 , 「 3000 THANKS Special S 達 し た 場 合 く 申 し 込 み 方 法 > et 』 と し て 「 CCF 十 BGM/Kit 」 を 100 本 の 限 定 申 し 込 み 連 絡 責 任 者 名 , 参 加 者 氏 名 ( ふ り が 発 売 を 開 始 し た 。 「 CCF/LITE 」 は , キ ー 入 力 , グ ラ フ ィ ッ な ) , 会 社 名 / 部 門 / 役 職 , 電 話 番 号 , 住 ク ス , マ ウ ス , ウ イ ン ド ウ , メ ニ ュ ー , プ 所 , 参 加 人 数 , 参 加 費 合 計 額 と 振 り 込 み 予 リ ン タ 制 御 な ど の 関 数 を 集 め た 同 社 の ラ イ 定 日 , 第 5 回 Wingnut セ ミ ナ ー 「 GNU Em プ ラ リ , 「 CCF/ 総 合 コ ン ト ロ ー ル ラ イ プ ラ acsLisp 活 用 」 コ ー ス 参 加 申 し 込 み と 明 記 リ 」 か ら , 中 核 と な る 約 170 の 関 数 を 選 び 出 し , FAX に て 下 記 (#)SRA 「 Wingnut セ ミ ナ ー 事 務 局 」 係 ま て 、 申 し 込 む 。 折 り 返 し 送 ら れ る し た コ ン パ ク ト な 総 合 ラ イ プ ラ リ 。 参 加 券 と 請 求 書 に 従 っ て 開 催 日 前 日 ( 7 月 29 「 CCF 十 BGM/Kit 」 は , パ ラ メ ー タ の 設 定 日 ) ま て 、 に 銀 行 振 込 て 、 参 加 費 用 を 振 り 込 む 。 だ け て 、 簡 単 に 円 グ ラ フ , 棒 グ ラ フ な ど の グ 問 い 合 わ せ 先 ラ フ を 作 成 す る 13 種 類 の グ ラ フ 関 数 を ま と (#)SRA 「 Wingnut セ ミ ナ ー 事 務 局 」 係 め た 「 BGM/Kit 」 と 「 CCF/ 総 合 コ ン ト ロ ー ル ラ イ プ ラ リ 」 の セ ッ ト パ ッ ケ ー ジ 。 担 当 河 向 ( か わ む か い ) , 田 崎 く 動 作 環 境 > TEL 03 ー 3234 ー 2623 ・ 対 応 機 種 PC ー 9801 シ リ ー ズ FAX 03 ー 3234 ー 4338 29 , 800 円 59 , 800 円 フ ァ イ ル の を り 物 を 第 : ま を ミ を . ・ 、 を も 定 す う ー 博 を い 叮 叮 す : 、 ・ き き を ア を す . 動 作 環 境 ラ イ プ ラ リ : MS-DOS 汎 用 。 Microsoft-C 、 BorIand ー C と リ ン ク で き ま す 。 工 デ イ タ : PC ー 9801 / 9821 専 用 PC ー 286 / 386 / 486 本 ソ フ ト は ピ コ ソ フ H が 開 発 し 、 ア ン テ ナ ハ ウ ス 株 が 販 売 す る 製 品 で す 。 お 問 合 せ 、 お 買 求 め は ′ ア ン テ ー ワ コ 株 DP 部 〒 102 東 京 都 千 代 田 区 平 河 町 2 ー 3 ー 4 平 山 平 河 町 ビ ル TEL 03 ー 3234-9631 FAX 03-3221-9975 く 資 * 青 求 番 号 149 〉 News Square 149

月刊 C MAGAZINE 1993年8月号


AUG. 1993 ー ~ VO れ 5 No. 8 CONTENTS 0 四 93 年 8 月 一 日 ( 毎 月 一 回 一 日 発 行 ) 第 5 巻 第 8 号 通 巻 47 号 990 年 2 月 2 日 第 3 種 郵 便 物 認 可 表 紙 イ ラ ス ト レ ー シ ョ ン ・ 秋 山 育 デ サ イ ン ・ 持 田 哲 ・ ・ 23 sun Microsystems の 戦 略 家 Peter Deutsch ( Ⅱ ) 巻 頭 イ ン タ ビ ュ ー Programnung on Purpose 『 Neckties and deadbolts 』 p. J. Plauger 1 992 年 J OLT 賞 の 発 表 l'd Like to Thank the Academy.. ソ フ ト ウ ェ ア の 価 値 は ユ ー サ の 使 い や す さ で 決 ま る COMPUTER LANGUAGE 提 携 記 事 Wake Up! You've Entered the Transition Zone フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト く 第 43 回 > pc ー 9801 用 Windows 3.1 登 場 野 口 雄 平 COMPUTER LANGUAGE 提 携 記 事 37 ・ ・ 42 即 戦 力 ア ッ プ ! 実 践 C テ ク ニ カ ル フ ァ イ ル 耻 1 起 動 ・ 環 境 / 入 出 力 / マ ク ロ 関 連 / EMS メ モ リ 編 ・ ・ 44 特 集 Part1 ・ 起 動 ・ 環 境 設 定 上 原 潤 ニ Pa 「 t2 ・ 入 出 力 久 野 浩 / 上 原 潤 ニ Pa 「 t3 ・ マ ク ロ 関 連 久 野 浩 Part4 ・ EMS メ モ リ 村 上 幸 太 郎 BorIand C 十 十 & AppIication Frameworks 3.1 ・ 75 速 報 H el lo G C C WorId く 最 終 回 > djgcc の 入 手 方 法 安 田 英 之 ・ djgcc 詳 解 講 座 98 & D O S / V ゲ ー ム プ ロ グ ラ ミ ン グ 大 作 戦 く 第 3 回 > キ ャ ラ ク タ ェ テ イ タ の 作 成 ( 3 ) 野 村 広 ・ ・ ・ 89 C 言 語 プ ロ グ ラ ミ ン グ レ ッ ス ン く 第 5 回 > 。 ら せ ん 階 段 を 昇 る 法 。 結 城 浩 C 言 語 入 門 講 座 実 践 ア ル ゴ リ ズ ム 戦 略 解 法 の テ ク ニ ッ ク く 第 1 6 回 > 表 計 算 法 ( 2 ) 松 田 晋 ・ 104 新 MS - DOS プ ロ グ ラ ミ ン グ 入 門 C プ ロ グ ラ マ の た め の く 最 終 回 > 1 行 入 力 と ヒ ス ト リ 機 能 中 島 信 行 ・ ・ ー 田 典 玄 の ラ ン タ ム ア ク セ ス く 第 26 回 > Wind 。 ws NT と UNI>< 痛 快 工 ッ セ イ 恥 す か し な か ら ド シ り ま し た く 第 45 回 > 情 報 は 公 開 し た ほ う が 結 局 は 得 岩 谷 宏 ・ ・ ・ ・ 120 C 言 語 フ ォ ー ラ ム ANSI C ー more く 第 20 回 > 関 数 と モ ジ ュ ー ル き だ あ き ら ・ ・ ・ ・ ・ 127 D r. 望 洋 の プ ロ グ ラ ミ ン グ 道 場 ・ ・ ・ 136 難 問 回 答 く 第 1 3 回 > ラ イ プ ラ リ 開 発 の た め に ( 1 ) 柴 田 望 洋 ・ G CC で 学 ぶ X68 ゲ ー ム プ ロ ク ラ ミ ン ク く 第 2 1 回 > ケ ー ム の 仕 上 ゖ ( 4 ) 吉 野 智 興 ・ ・ ・ 142 X68k 活 用 講 座 C MAGA News Square ・ ・ ・ 148 lnformation from Compiler Make 「 s マ イ ク ロ ソ フ ト ・ ・ ・ ・ 150 フ ィ ン ロ ー ダ の あ っ ぱ れ こ 意 見 番 く 第 1 6 回 > 「 職 と 芸 の 割 り 合 い 」 ・ ・ 152 lnformation from Compiler Makers 工 ル ・ エ ス ・ ア イ ジ ャ ノ ヾ ン / ラ イ フ ボ ー ト ・ ・ ・ 154 C マ ガ 電 脳 ク ラ ブ く 第 29 回 > ク イ ー ン プ ロ プ レ ム ・ エ ン プ レ ム 吉 柄 貴 樹 ・ ・ ・ 156 lnformation from Compiler Makers シ ャ ー プ / テ ッ ク 情 報 シ ス テ ム ・ ・ ・ ・ 158 丹 羽 信 夫 の 迷 走 プ ロ グ ラ ミ ン グ く そ の 20 > 旗 上 げ ケ ー ム 用 メ ッ セ ー ジ 作 成 プ ロ グ ラ ム ・ ・ ・ ・ 160 lnformation from Compiler Make 「 s ボ ー ラ ン ド ・ ・ ・ ・ 162 Readers' Room ・ ・ ・ 164 テ ィ ス ク 内 容 の お 知 ら せ EDITORS' ROOM ・ ・ ・ 168 ・ 本 記 事 中 の プ ロ グ ラ ム 名 , シ ス テ ム 名 , CPU 名 は 一 般 に 各 メ ー カ ー の 登 録 商 標 で す 。 本 文 中 で は TM , ⑨ マ ー ク は 明 記 し て い ま せ ん 。 ・ 本 誌 お よ び 付 録 デ ィ ス ク に 掲 載 さ れ た す べ て の プ ロ グ ラ ム は 著 作 権 法 上 , 個 人 で 使 用 す る 目 的 以 外 で 無 断 で 複 製 す る こ と は 禁 し ら れ て い ま す 。 Publisher: GO 「 0 Hashimoto PubIishing Di 「 ectO 「 : TOShiO lnaba Editor-in-Chief: Shinichi Hoshino Manager Of SaIes and Advertising: YOShiO Goshima Editorial and Business 0ffices: SOFTBANK SQUARE BLDG. , 3-42-3 , N 旧 ONBAS ト HAMACHO, CHUO-KU, TOKYO 103. JAPAN Editorial: Phone ( 03 ) 5642-8188 Sales: Phone ( 03 ) 5642-8100 Advertising: TOkyo: Phone ( 03 ) 5642-8111 0saka: Phone ( 06 ) 264-1471 C 叩 y ⅱ ght01993 SOFTBANK CO 「 p. TOkYO. AII rights reserved. NO materialin this publication may be reproduced, in whOle 0 「 in part, in any form without pe 「 mission, Printed in Japan. 大 野 元 久 ・

月刊 C MAGAZINE 1993年8月号


k the A 聞 亜 m JOLT 賞 ' Like Case : W/VIP Ver. 1.0 CaseWorks Rose fo 「 Windows Ver. 1 . 0 Rational テ キ ス ト フ ァ イ ル に ェ ク ス ポ ー ト す る こ と は コ ー ド は 生 成 し な い が , テ ン プ レ ー ト を グ 言 語 を 使 っ て い る ) 。 Rose for Windows こ の プ ロ グ ラ ミ ン プ ロ ジ ェ ク ト の た め に す る も の だ ( た ま た ま 今 ば く は , あ る 小 さ な anguage に よ る 記 述 ー ー ー の レ ベ ル に も 達 ト し , そ の 細 部 は Program Description L キ ュ メ ン テ ー シ ョ ン テ ン プ レ ー ト を サ ポ ー ル て 、 は な い 。 そ れ は , Booch の さ ま ざ ま な ド Rose for Windows は 単 な る 作 図 用 の ツ ー し て い る の だ 。 を 圧 倒 し な い た め の , 十 分 な 抽 象 性 も 維 持 に す べ き か ? ) と と も に , 実 装 詳 細 が 設 計 者 ラ イ ズ ド タ イ プ 〔 C 十 十 て 、 は テ ン プ レ ー ト 〕 使 う べ き か ? そ れ と も , こ れ は パ ラ メ タ を 提 供 し て い る ( こ こ て 、 は ヘ ル バ ー ク ラ ス を て い る 。 こ の ツ ー ル は , 実 装 上 の 問 題 解 決 と の 間 の , き わ め て 困 難 な 均 衡 化 に 成 功 し 〔 の 完 璧 お よ び 充 実 〕 と 実 装 〔 の し や す さ 〕 う 。 Rose for Windows と Booch は , 抽 象 化 拡 張 記 法 を 含 め た 新 版 も 近 く 出 す 予 定 と い 993 年 1 月 号 , 2 月 号 ) と い う 記 事 て 、 発 表 し た otation, Part I and Ⅱ 〃 ( 『 C マ ガ ジ ン 』 1 PUTER LANGUAGE 』 の 、 、 The Booch N に サ ポ ー ト し て お り , Booch が 本 誌 TCOM Rose for Windows は , Booch 90 を 完 全 る , 唯 一 の ロ ー コ ス ト な CASE ツ ー ル な の ications に 提 示 さ れ て い る 記 法 を サ ポ ー ト す ooch の Object-Oriented Design with Appl の 名 は Object System/Designer) こ そ が , B だ ろ う 。 そ し て こ の Rose forWindows( 元 め に は , 何 か ら の CASE ツ ー ル の 助 け が 必 要 , ooch の 記 法 は 複 雑 だ 。 あ れ を 実 際 に 使 う た オ プ ジ ェ ク ト 指 向 設 計 の た め の Grady B コ ー ド ジ ェ ネ レ ー タ は , テ キ ス ト エ デ ィ タ と 同 じ く , 批 評 す る こ と が ほ と ん ど 不 可 能 に な り つ つ あ る よ う だ 。 個 々 の ど ん な 具 体 的 な 特 徴 よ り も , 個 人 の 好 み が 優 先 す る か ら て 、 あ る 。 つ ま り , 客 観 的 な 性 能 よ り も , プ ロ グ ラ マ の 期 待 ど お り の 製 品 か ど う か が , 物 を 言 う 。 と い う わ け て 、 , Case:W は , ば く の 期 待 に 叶 う 製 品 な の だ 。 と く に 最 新 版 の Case : W/VIP は ね 。 OS/2 版 と Windows 版 の 両 方 が あ り , Microsoft と Borland の コ ン パ イ ラ 用 の コ ー ド ( 現 状 て 、 は C の み ) を 生 成 す る 。 V IP に な っ て か ら 加 わ っ た 拡 張 機 能 は , Case Works 社 に よ れ ば , 設 計 者 が , た と え ば マ ル チ メ デ ィ ア 用 の 機 能 な ど , 新 し い 機 能 モ ジ ュ ー ル を 自 由 に 取 り 込 め る た め の , モ ジ ュ ー ル 的 な ア ー キ テ ク チ ャ の 導 入 だ 。 ば く が と く に 好 き な Case : W の ふ た つ の 機 能 は , リ ソ ー ス を 含 ん だ DLL を 作 れ る 能 力 と , ヘ ル プ フ ァ イ ル の ス ケ ル ト ン を 作 れ る 能 力 だ 。 唯 一 の 大 き な 不 満 は , コ ー ド の 再 生 成 ( 変 更 を 加 え た 後 の コ ー ド 生 成 ) が 遅 こ と だ 。 Case : W/VIP は , と て も 柔 軟 性 い に 富 ん だ , そ し て 完 全 な シ ス テ ム だ 。 こ れ を 使 え ば , も う 二 度 と WndProc を 書 く 必 要 は な く な る だ ろ う 。 LOB ー ル だ 。 こ れ て 、 , 本 論 は 終 わ り 。 C と C 十 十 の 両 方 を サ ポ ー ト し て お り , メ モ リ の 問 題 点 を , あ な た の ソ ー ス コ ー ド の 中 だ け て 、 な く , ラ イ プ ラ リ の コ ー ド の 中 か ら も 見 つ け る 。 Purify は こ れ を , 〔 ソ ー ス て 、 な く 〕 オ プ ジ ェ ク ト モ ジ ュ ー ル の レ ベ ル て 、 行 な う 。 メ モ リ ア ク セ ス を し て い る す べ て の 箇 所 に , Purify が 独 自 の コ ー ド を 挿 入 し , そ れ に よ っ て , 配 列 の 境 界 を 超 え た リ や ラ イ ト , フ リ ー し た メ モ リ の リ ー ド や ラ イ ト , す て 、 に フ リ ー し た メ モ リ の フ リ ー 未 初 期 化 メ モ リ の リ ー ド や ラ イ ト , ヌ ル ポ イ ン タ に よ る リ ー ド や ラ イ ト , そ し て メ モ リ リ ー ク ( メ モ リ 漏 損 ) を 検 出 す る 。 Purify の , こ の オ プ ジ ェ ク ト レ ベ ル の ア プ ロ ー チ に よ り , す べ て の メ モ リ エ ラ ー を , そ の 発 生 現 場 て 、 突 き 止 め る こ と が て 、 き る 。 そ れ ら の , 遠 い 原 因 だ け て 、 は な く て 。 使 い 方 は と て も 簡 単 て 、 , リ ン ク の 指 定 行 の 最 初 に purify と 書 く だ け て 、 よ い 。 特 殊 な へ ッ ダ を イ ン ク ル ー ド す る 必 要 も , ソ ー ス フ ァ イ ル に 手 を 加 え る 必 要 も な い 。 そ う や っ て リ ン ク を 済 ま せ た ら , そ の コ ー ド を 動 か す だ け だ 。 そ う す る と , 工 ラ ー が 起 き る た び に 正 し く 捕 捉 さ れ , メ ッ セ ー ジ が 出 る 。 new や delete は 〔 malloc ( ) な ど よ り 〕 す っ と 良 い と は い え , C 十 十 て 、 も メ モ リ エ ラ ー は な く な っ て は い な い 。 む し ろ , 見 つ け る の は よ り 難 し く な っ て い る 。 そ れ に あ な た は も し か し て , ラ イ プ ラ リ に メ モ リ リ ー ク が あ る の て 、 は な い か と 疑 っ た こ と は な い か ? Purify は , バ グ フ リ ー な コ ー ド を 速 く 作 り だ す た め に 欠 か せ な い ツ ー ル だ し , プ ロ グ ラ マ の 日 常 の 仕 事 を 何 ら 変 え る 必 要 が な い 変 わ る の は , い ら い ら が 少 し ( あ る い は 大 量 開 発 支 援 ツ ー ル 部 門 Purify Ver. 1.0 JOLT 賞 Pure Software ン エ ラ ー を 発 見 す る た め の , 最 良 の 専 用 ッ Purify は , 要 す る に , メ モ リ ア ロ ケ ー シ ョ に ) な く な る と い う 点 だ け だ 。 BIinker Ver. 2. 圧 0 Blink 旧 c. TEM は て 、 き る 。 32 C MAGAZINE 1993 8 LOB DOS の 世 界 て 、 は , た く さ ん の サ ー ド ノ

月刊 C MAGAZINE 1993年8月号


プ ロ グ ラ ミ ン グ 旗 上 げ ゲ ー ム 用 メ ッ セ ー ジ 作 成 プ ロ グ ラ ム 相 手 が 正 し い 動 作 を す れ ば よ い の だ が , 間 こ れ を も と に , 作 成 し た の が 次 の プ ロ グ ロ バ ー ト ・ 佐 々 木 氏 は , 私 の ご 近 所 の 方 ラ ム く aka2. c > だ 。 い ち お う 実 用 レ ベ ル 違 っ た 動 作 を し た り , 反 応 が 遅 か っ た り す で , す で に 年 齢 70 を 越 え , 現 在 は 現 役 引 退 に は 達 し て い る 。 使 い 方 は 簡 単 で , た だ 起 れ ば 旗 上 げ 側 の 負 け と い う こ と だ 。 こ う い の 身 で あ る 。 氏 は , 3 年 前 の 夏 ま で は パ ソ コ 動 す れ ば よ い 。 文 字 配 列 の と こ ろ を ち ょ っ う ル ー ル だ が , ど う か ね 。 ン を ワ ー プ ロ と し て 使 う 経 験 は あ っ た も の と 工 夫 し た り し て な か な か テ ク ニ カ ル で あ ま あ , そ ん な ゲ ー ム を 吉 夫 と や っ て い た の , プ ロ グ ラ ム の な ん た る か は ま っ た く 知 わ け だ が , さ っ き も 書 い た と お り , ど う も ろ う ? ら な か っ た 人 物 で あ る 。 そ の ロ バ ー ト 氏 が , 92 年 初 頭 に C 言 語 の マ ス タ ー を 決 意 し , 以 負 け て し ま う 。 と く に 旗 上 げ す る ほ う が 苦 で , 起 動 し た 後 , 画 面 表 示 さ れ た も の を 後 , 私 ( 丹 羽 ) と ミ ス テ リ ア ス な C 文 通 を 始 め 読 み 上 げ て い け ば そ い つ が 自 動 的 に 旗 上 げ 手 だ 。 ま あ , こ ち ら が 命 令 す る ほ う に ま わ た 。 そ の 文 通 は 今 て も 続 い て い る 。 ゲ ー ム の 命 令 メ ッ セ ー ジ と な っ て い る わ け っ て も , 次 に な ん と 命 令 す れ ば 相 手 が い ち さ て , 今 月 も 氏 か ら の 書 留 速 達 が 届 け ら だ 。 そ も そ も , 人 間 に と っ て め ん ど う な こ ば ん へ マ す る 確 率 が 高 い だ ろ う か な ど と 戦 れ た 。 略 を 考 え て い る う ち , 途 中 で し ど ろ も ど ろ と を コ ン ピ ュ ー タ に や ら せ て し ま お う と い う の が コ ン ピ ュ ー タ 使 い の 基 本 的 姿 勢 で あ に な っ て し ま っ て , 結 局 , 吉 夫 に 笑 わ れ て 丹 羽 君 よ 。 孫 の 吉 夫 と 旗 上 げ ゲ ー ム な る る わ け で , こ の プ ロ グ ラ ム は そ う い う 観 点 も の を や っ た の だ が , 旗 を 上 げ る ほ う に ま し ま っ た 。 し か し , 丹 羽 君 も 承 知 の と お り , こ ん な か ら し て 実 に 理 に か な っ て い る わ け だ 。 わ る と ど う し て も 負 け て し ま う 。 孫 に 負 け 以 上 , 簡 単 だ が こ の へ ん で 手 紙 を 終 わ り こ と で ま い っ て い る ロ バ ー ト ・ 佐 々 木 で は る な ど , く や し く て た ま ら ん の だ が 事 実 は に す る 。 感 想 を 待 つ 。 ロ バ ー ト ・ 佐 々 木 な い 。 小 生 に は C 言 語 と い う 味 方 が あ る 。 小 事 実 , し か た が な い 。 こ い つ は , な ん と も 珍 妙 な プ ロ グ ラ ム て 、 生 に し か で き な い C 言 語 利 用 法 に よ り , 特 訓 こ ま で 書 い て 気 が つ い た の と こ ろ で , あ る 。 私 も 実 際 に 何 度 か 起 動 し , そ の 画 面 だ が , そ も そ も 丹 羽 君 は 旗 上 げ ゲ ー ム の 内 し 吉 夫 に 打 ち 勝 ち た い 。 表 示 を ば ん や り 眺 め て は , い き な り 赤 下 げ あ あ , 前 置 き ば か り 長 く て , 本 題 が 遅 れ 容 を 知 っ て い る の か ? 電 話 で 聞 く の も 手 て し ま っ た 。 今 月 は , こ の ゲ ー ム の 旗 上 げ な い 〃 て 始 っ た り す る シ ュ ー ル な 味 わ い に び こ は 思 い 切 っ て 教 え て 間 が か か る か ら , の メ ッ セ ー ジ を 一 括 作 成 す る プ ロ グ ラ ム を た っ た の だ が , な ん と い っ た ら い い か , と 進 ぜ よ う 。 作 成 し た の で 見 て ほ し い 。 ま ず , 原 型 と な に か く 意 味 が わ か ら な い こ の プ ロ グ ラ ム ま ず , ひ と り が 赤 と 白 の 旗 を 両 手 に 1 本 ず る 原 始 プ ロ グ ラ ム が く akal. c > だ 。 紹 介 す に ど ん な 感 想 を 書 け と い う の だ ろ う カ っ 持 つ 。 も う ひ と り は , 「 赤 上 げ て 」 と か 「 白 る ほ ど の 価 値 も な い か も し れ ん が , 原 理 は な ど と 悩 ん て 、 い る と ま た も や , 玄 関 先 に 速 上 げ な い 」 と か 「 赤 下 げ な い , 白 下 げ な い 」 な よ く わ か る だ ろ う 。 達 が 届 い た 。 ど と 続 け ざ ま に 命 令 を 下 す 。 そ れ に 対 し て List 2 aka 1. c 円 羽 信 夫 ( そ の 20 ) イ ラ ス ト / 山 形 彰 吾 0 List 4 : #include く string. h> 5 : $define MAX 10 朝 6 : 7 : main() 宿 char *aka[2]= 9 : char *ageC2]= { " あ げ " " さ げ ” } : char *naiC2j= char st [ 256 ] ; i nt i , n : randomize(); 20 : for ( i : 0 ⅱ <10 ; i + + ) 22 : n=rand ( ) % 2 : / * 乱 数 = 0 か 1 * / 23 : strcpy(st, aka[n]) : 24 : n=rand ( ) % 2 : / * 乱 数 = 0 か 1 * / 25 : strcat(st, age[n]) : 26 : n=rand ( ) % 2 ; / * 乱 数 = 0 か 1 * / strcat(st, nai[n]) ; 28 : puts(st) ; 29 : # i nc lud e く s t d i 0. h > 2 : # i ncl ude く s t d ⅱ b. h > 3 : $include く time. h> 4 : 5 : main() char st [ 4 ] [ 20 ] : 7 : { " 赤 あ げ て " " 赤 さ げ な い " " 赤 あ げ な い ” ” 赤 さ げ て ” , } : 8 : 第 12 : i n t i : randomize() : i =rand ( ) % 4 : puts(stCi]); List aka2. c ー よ ワ 】 っ 0 160 C MAGAZINE 1993 8