プログラミング - みる会図書館


検索対象: 月刊 C MAGAZINE 1992年11月号
76件見つかりました。

1. 月刊 C MAGAZINE 1992年11月号

特集 ゝプログラミンク Fig. 1 7 hellodx. exe の実行例① まった。 「 i い Edif 日司 日司 0 WorId ー About H 訓 0 ー WO d Ve 朝 0 「 1 3 』 日訓 0. Wo 飼 ! Microsoft Wi 祠 0 。ヂユ新尾芦マ叮冖 Fig. 18 hellodx. exe の実行例② 「 i い〔 d 汁日司レ 日司 0 ! H 0 World 終了しますか ? Fig. 19 he 恥 dx メニューの階層関係 終わりに Edit HeIp Exit About 本特集の執筆を依頼されて , まずいくっ かの例題プログラムを作成した。実のとこ ろ , 今回ここて、説明て、きたのは , その例題 プログラムの数分の 1 という結果になってし Windows プログラミングが簡単て、あるか どうかは別にして , いろいろな規則や定数 など , 覚えなければならないことが山ほど あるのは確かだ。 今回は , 基礎の基礎のみを解説したのて、 , 参考文献などをもとにして , さらなる学習 に取り組んて、いただければ幸いてある。 [ 謝辞 ] 本稿執筆にあたって , 九州大学工学部化 学機械工学科の立野繁之助手 , および同大 学院博士後期課程在学の武田和宏君には , 原稿のチェックなどの面て、お世話になった。 この場を借りて , 感謝の意を表したい [ 参考文献 ] [ 5 ] [ 4 ] [ 3 ] [ 2 ] [ 1 ] 編』 , ソフトバンク , 1991 年 [ 6 ] 柴田望洋「秘伝 C 言語問答ポインタ ク , 1992 年 s3.0 プログラミング入門』 , ソフトバン Alan Southerton, 太田純訳 fWindow ソフトウェア , 1991 年 3.0 パワープログラミング下』 , 富士 監訳「ピーター・ノートン WINDOWS Peter Norton and Paul Yao, 脇英世 ソフトウェア , 1991 年 3.0 パワープログラミング上』 , 富士 監訳「ピーター・ノートン WINDOWS Peter Norton and PauI Yao, 脇英世 アスキー , 1992 年 『プロフェッショナル WINDOWS 3 』 , Richard WiIton, マイクロソフト監訳 3 』 , アスキー , 1991 年 「プログラミング WINDOWS Version Charles Petzold, マイクロソフト監訳 特集 MS-Windows プログラミング基礎学 75 ( 工学博士・九州大学工学部化学機械工学科 ) しばた・ばうよう

2. 月刊 C MAGAZINE 1992年11月号

辷ー彡売 賞講演は , 「芸術としてのプログラミング (C ログラム例が出ています。これらのプログ 計算機に何をすべきかを命じることが omputer Programming as an Art) 」とい ラムは , わずかな例外を除くと , MIX とい 我々の主要関心事て、あるという妄想を う仮想計算機のアセンプリ言語て、記述され うタイトルて、あり , 私が述べかけた内容が 捨て去り , 我々が計算機に何をさせた 精妙に議論されているのて、す。かぎられた ています。これらは Knuth 先生のプログラミ がっているかを説明することにむしろ ングスタイルのよい見本て、す。 Knuth 先生の 誌面て、はその全容を紹介て、きませんが , と 傾注すべきて、ある。 プログラミングスタイルを一言て、説明する くに本質的と思われる箇所を紹介したいと つまり , プログラムリストというプログ ならば , 計算機の能力を極限まて、活用して ラミングの「結果」もさることながら , そこ 思います。まず , 冒頭付近て、以下のように に至る「過程」を説明するための文書が重要 述べています。 いるということに尽きるかと思います。 たとえばアセンプリプログラムにおいて 事実、、 art" という言葉のもっともすて て、あることになります。これにつづいて Kn は , 条件ジャンプはジャンプしない場合の きな点のひとつは , この言葉が多くの uth 先生が述べているのは , 、、 Literate Prog 異なった意味て、用いられていて , しか ほうが速いのが普通て、す。この性質を利用 ramming" の実践心理て、す。 もそれぞれの意味が , コンヒ。ュータブ するという程度て、あれば特別珍しくもあり (Literate Programming の ) 実践者は ログラミングとけっこうまともに結び ませんが , Knuth 先生が徹底しているのは , 随筆家 (essayist) とも見なされよう。そ 得意の数学を駆使して , どちらの条件が成 の関心は主として解説と文体の卓越に ついているところにあります。 立しやすいかという統計まて、解析してしま つまり , 、、 art" という言葉の多義性をかな ある。著作者は手に辞典を持ち , 注意 うところにあります。たかが条件ジャンプ 深く変数に名前をつけ , 各変数の意味 り意識していることがわかります。引用部 分の後て、は , 、、 art" という語に多義性が生ま の 1 マイクロ秒にも足りないというほどの違 を説明する。彼は理解可能なプログラ いて、すが , プログラミングを「芸術」の域に れた理由を歴史的に説明されています。し ムを作ろうと努力し , 諸概念を人間に かし , Knuth 先生が、、 art" の意味の中て、も まて、高めるためには , そこまて、突き詰めな いちばんわかりやすい順番て、導入し , 「芸術」というニュアンスをもっとも強く意 いと先生の気が済まないのて、しよう。 形式的 , 非形式的方法をないまぜて , 識していることは , 講演の末尾て、はっきり したがって , Knuth 先生の「芸術的」プログ お互いが効果を強め合うようにするて、 ラミングは , プログラムリストだけて、完結 と結論づけられています。 あろう。 これまて、の話をまとめてみましよう。 しているとはいえません。むしろ , そのプ 上述のように , 文書としては「人間にいち ばんわかりやすい順番」が要求される一方 ログラムリストを得るまて、の過程が重要な コンピュータブログラミングがひとつ のて、す。このため , 先生の「芸術的」なプロ の芸術て、あることを見てきました。世 て、 , プログラミング言語の文法が要求する 界に対して集積された知識を応用する グラミングの記述には , プログラムの説明 順番はまた別にあります。したがって , 、、 L をする「文書」と , プログラムリストそのも ものて、あること , 熟練と発明の才を必 iterate Programming" を実践するにあた のとが対となっているはずて、す。 要とすること , そして取りわけ , 美の って , 上記の矛盾を解消する仕掛けが必要 対象となるものを想像することがこの 私が述べてきたことを方法論として具体 になます。 結論の理由て、した。 化したものが , Knuth 先生の標榜される、、 L WEB システム Knuth 先生はコンピュータブログラミング iterate Programming" て、す。先生は , の概念をイギリスのコンヒ。ュータ学会の会 を芸術とみなすだけて、はなく , 芸術的なプ 誌 fThe Computer Journal 』に , その名も ログラミングを実践するための方法論およ Knuth 先生は , 上て、述べた方法論を実践す るための道具立てとして WEB システムを開 び道具立てを用意するに至りました。これ 、、 Literate Programming" という論文を投 発されています。 が、、 Literate Programming" という概念お 稿されています。以下 , この論文に従って , WEB には「織物」という意味があります よび WEB というツールて、す。 、、 Literate Programming" の概念について が , これはさまざまな部品 ( プログラムおよ 次にこれらについては紹介しましよう。 紹介していくことにしましよう。 び文書 ) を , あたかも織物を織るようにして 上記論文の冒頭付近て、 , Knuth 先生は、、 L 組み合わせ , 絡み合わせることにより複雑 iterate Programming" の基本的な考えに なソフトウェアを記述していくところから ついて述べています。 名づけられたようて、す。 我々はプログラム作成における伝統的 態度を変更すべきて、ある。すなわち , WEB はふたつの言語からなります。ひと く Literate programming fThe Art of Computer programming にはさまざまなアルゴリズムを実装したプ 150 C MAGAZINE 1992 11

3. 月刊 C MAGAZINE 1992年11月号

Chris Stone ( 2 ) オプジェクトマネジメントグループ会長 Programnung on Purpose 『 Wh0's always right? 』 p. J. Plauger ・ ソフトウェア開発もクリーンルームで COMPUTER LANGUAGE 提携記事 Clean Your Room: Formal Methods for the ' 90S フリーソフトウェア最新レポートく第 34 回〉ウイルス対策法 , 教えます野口雄平 Book Review 特集 MS-Windows プログラミング基礎学 Part 1 ・ Window を開く基礎 Part 2 ・ Window とアプリケーション 実践アルゴリズム戦略解法のニックく第 7 回〉巡回セールスマン問題の分割統治解法松田晋 実践 C プログラミンク入門く第 8 回〉ソースファイルの分割奥村晴彦 Step by Step 新 M S- D OS プログラミング入門く第 26 回〉ドライプ構成を知る中島信行 92 C プログラマのための 十十く第 5 回〉クラス機構 ( その 4 ト継承 ( その 1 ) 基本クラスと派生クラス , 多重継承山本浩文・白倉伸一郎・・・ 97 C 十十入門講座 恥すかしながらドジりましたく第回〉一人ひとりが無駄をするとその [ 当億人 ] は ? 岩谷宏・・ ・・・ 105 C 言語フォーラム プログラミングの工ッセンスく第 10 回〉「エラー」 ( 2 ) 結城浩 110 = 田典玄のランダムアクセスく第 17 回〉日本のユーザとアメリカのユーサ 116 痛快工ッセイ D r. 望洋のプログラミング道場く第 4 回〉ヌル柴田望洋 118 難問回答 C 言語雑学言冓座く第 19 回〉 Mac プログラミングの基礎乗松保智 123 G CC で学ぶ X68k ゲームプログラミングく第 12 回〉 c で趣味してみました吉野智興・ ・・・ 129 X68k 活用講座 の道具箱く最終回〉レーザプリンタの制御⑦豊国永健・ ・・・ 135 応用 C 言語 帳票設設・制御ツール「 B ー PR 爪 T 」高橋良明 最新開発環境レポート ・・・ 144 "Literate Programming" 考察松田晋 Conference 日 00m ・・・・ 149 C MAGA News Square ・ ・・ 152 lnformation from Compiler Makers マイクロソフト ・・・ 154 フィンローダのあっぱれこ意見番く第 7 回〉熟練者によるうつかりミス ( 前編 ) ・・・ 156 lnformation from Compiler Makers 工ル・エス・アイジャノヾン / ライフホート・ ・・・ 158 C マガ電脳クラブく第 20 回〉 Non ー c 「 ossing Knight's Tour 吉柄貴樹 ・・・ 160 lnformation from Compiler Makers 富士通 / システム・ワン 162 円羽信夫の迷走プログラミングくその 1 1 〉ロノ←ト・佐々木の挑戦 ・・・ 164 ・・・ 166 lnformation from Compiler Makers ホーランド 168 Readers Room ティスク内容のお知らせ EDITORS' ROOM ・・・ 172 ・本記事中のプログラム名 , システム名 , CPU 名は一般に各メーカーの登録商標です。本文中では TM , ⑨マークは明記していません。 ・本誌および付録ディスクに掲載されたすべてのプログラムは著作権法上 , 個人で使用する目的以外で無断で複製することは禁じられています。 表紙・イラストレーション・秋山育 / テサイン・持田哲 Publisher: Masayoshi Son Publishing Director. GO 「 0 Hashimoto Editor-in-Chief: Shinichi HOShino Manager Of Sales and Advertising: YOShiO GOShima EditoriaI and Business 0ffices: NS Takanawa Bldg. , 2-19-13. Takanawa. Minato-ku. TOkYO 108. Japan Editorial: Phone ( 03 ) 5488-1318 SaIes: Phone ( 03 ) 5488-1360 Advertising: TOkyo: Phone ( 03 ) 5488 ー 1365 Osaka: Phone ( ) 264-1471 Copyright ⑥ 1992 SOFTBANK CO 「 p. TOkYO. AII rights reserved. NO materialin this publication may be reproduced, in whOle 0 「 in part, ⅲ any 「 m without permission. Printed in Japan. 巻頭インタビュー 40 ・・・ 42 44 柴田望洋

4. 月刊 C MAGAZINE 1992年11月号

C 教授 C ユーザのための 実践アセンプラ B5 判・ 280 頁・定価 2 , 800 円 吉川敏則著 米澤宣義著・ B 5 判・ 1 76 頁・定価 2 , 575 円 ( 税込 ) C 言語をある程度理解している読者がさらに凝ったプログラムを作 TurboC を中心に他の C 言語の相違点を明確にしながら , 文 成するときに有効なアセンプラ言語についての入門書。 MASM. 5.1 法と基礎プログラミングを豊富な図解とプログラム例をもと 6.0 対応 にわかりやすく解説。さらに パズル形式による別売の学習 ソフトを併用して効率よく学べるよう配慮した。 ~ 寅習 C ではじめる ・主な目次学習の前の注意 / プログラムの書き方 / プログ フロク ' ラミンク、 ラムの基本構造 / プリプロセッサ・コンノヾイラ・リンカ / 変数 と数値テータ / 変数と文字テータ / テータの出力・入力 / 他 B5 判・ 200 頁・定価 2 , 000 円 吉川敏則他著 ( 別売ソフト有 ( 頒価 17 , 510 円税込 ) / 問合せは直接小社へ ) 演習を主体にした C 言語の入門書。段階的に構成されているたくさ んのプログラムに取り組むうちに , いつのまにか簡単なプログラム スタティ C を作成できるようになっている。 アルゴリズムシリース 1 データ構造 浅野哲夫著 A5 判・ 208 頁・定価 2 , 300 円 実用上で役立つデータ構造に限定し , 多く図と例題を用いて説明。 C プログラムを掲載。 クイック C カレゴリズムとデータ構造 N . ヴィルト著浦昭ニ他訳 A 5 判・ 368 頁・定価 3 , 800 円 小無啓司著・ A 5 判・ 242 頁・定価 2 , 400 円 ( 税込 ) さまざまなデータ構造を体系的に取り上げ , それらに適用される典 C 言語の基礎知識や市販ソフト "QC 2 " の操作手順を記述し 型的なアルゴリズムを数多く挙げ平易に解説した名著の完訳。 さらに , 将来ワープロソフトなどの実用プログラミングまで 楽しみながらできるよう , プログラム作成例を入れて解説。 近代科学社 Ⅱ 2 東京都文区立一 ) 阪鱒話 03 947 ) 251 1 C + + クラスライプラリ作成法 く新刊〉 注解 C + + リファレンスマニュアル 英語版 DOS / \/ 版 , Tu 「 boC + + , BorlandC + 対応 ANSI Base Document 定価 3 , 800 円 ドルフマン著川崎盛美訳 M. A. 工リス / B ストラウストラップ著足立高德他訳 A5 判定価 4800 円 C + + の入門書でその概念を理解したとしても , 実際にプログラミング 多重継承のサポート、型保証リンク、抽象クラス、多重定義解釈のた できるようになることはむすかしい。本書には , C + + によって書かれ めの機構などを解説している。 たクラスライプラリの実例が豊富にのせてあり , その体験を通して , は しめて自由に使いこなせる力がっくであろう。 ObJective-C [ ディスク付 ] アドヴァンスト C オプジェクト指向プログラミンク L. J. ピンソン / 日 . S. ウイナー著石川克己訳 A5 判予価 4.400 円 初心者を脱したい人へ プログラミング言語 Objective ー C のアプリケーションを使って、オプジ ェクト指向プログラミングの原則を説明する。 シルト著横山直樹訳 定価 2 , 900 円 C + + プログラマハンドブック 表計算プログラムや , ソートシステム , ェデイタ , あるいは統計処理 プログラム等 , 実用に耐え得るプログラムを豊富に掲載してあり , れから各種アプリケーションの作成の仕方が理解できる。 P. J. ルーカス著ノ」すき子訳 闘中旬国定 コンピュータ教育標準テキスト く好評発売中〉 C 目目吾 ( ANS ー規格準拠 ) プログラミング言語 C + + 浅井宗海著 定価 2 , 800 円 B ストラウストラップ著斎藤信男訳 専門学校に学ぶ人や企業内情報処理技術者のための本格的な教科書・ 年容第 2 当リ 独習書。文法の範囲・ ( ANCI C) を網羅し , 本文中の例題では , すべ C + + ワークプック てサンプルプログラムで学習でき , それに対応した演習間題・発展問 題を豊富に載せてある。 A5 判定価 2 , 800 円 日 . S. ウイナー / L. J. ピンソン著今井慈郎他訳 ( 株 ) トッノヾン 〒 101 東京都千代田区神田駿河台ト 6 TEL 03 ー 3295 ー 3461 FAX. 03 ー 3293 ー 5963 く資料請求番号 304 〉 PC 9800 シリーズ対応 / C 言語システム・ソフト付き 大島邦夫・鎌田弘・佐ロ裕子著・ A 5 判・定価 3 , 780 円 ( 税込 ) 著者らが教育用に開発したソフトを付けてまとめた入門書。 ソフトは , C インタブリタを中核にエデイタ , デバッカ , 練 習間題の解答を収納。 PC ー 9801 , MS ー DOS があれば学習可能。 〒 162 東京都新宿区市谷田町 2 ー 7 ー 15 く資料請求番号 301 〉 舌 03 ー 3260 ー 6161 「二ロ く資料請求番号 302 〉 合判予価 1 , 840 円 A5 判定価 4 , 017 円 マグロウヒル出版 TE L ( 03 ) 3542 ー 8821 FA x ( 03 ) 3542 ー 8826 〒 104 東京都中央区銀座 4 ー 14 ー 11 ( 77 ピル ) く資料請求番号 303 〉

5. 月刊 C MAGAZINE 1992年11月号

に一売 ングの支援ツールだと思っている方もいら に対する訳語には , このような複雑な概念 つはプログラミング言語 , もうひとつは文 を一言て、いい表すことが要求されるわけて、 っしやるようて、すが , これは正確て、はあり 書整形言語て、す。プログラミング言語とし すが , その意味て、「文芸的」という言葉はな て「 PascaI 」 , 文書整形言語として「 TeX 」を ません。通常の文書化プログラミングて、は , 用いたものが代表的て、すがほかの組み合わ 計算機に対する指令て、あるプログラムが主 かなかの名訳て、あるように思われます。 のため世間て、も「文芸的プログラミング」と せて、もかまいません。ほかの組み合わせの て、 , プログラムを人間に説明する文書が従 いう訳語が一般的に通用しています。 例としては H. ThimbIeby が「 C 言語」と「 Tr て、す。 off / Nroff 」の組み合わせにより構成した Cw 一方 , 、、 Literate Programming" て、は , 終夘に Knuth 先生もいっているように , 人間に対す eb があります。 る説明文書が主て , コンヒ。ュータへの指令 Ⅵ B のユーザは前述したふたつの言語を は従て、す。プログラムさえもが , アルゴリ け足て、 , Knuth 先生の「芸術としてのプ 使ってプログラムおよび文書を記述します ズムを人間に説明するための一要素て、ある ログラム」 , およびその方法論てある、、 Liter が , これを WEB ファイルというひとつのフ と考えられます。このように , 、、 Literate P ァイルにまとめます。 WEB の処理系は WE ate Prgramming" について紹介してきまし rogramming ′′は新しいプログラミングスタ た。皆さんはどのようにお感じになったて AVE と TANGLE というふたつのプログラム イルを提供するものなのて、す。 からなります。これらの関係は Fig. 1 のよう しようか ? 『プログラミング・セミナー』の中て、 , 竹 になります。 'Literate Programming 内郁雄先生がプログラミングの上達法につ Fig. 1 のように , WEB プログラムはⅥ の語 AVE/TANGLE の両方によって二重に利用 いて説明しています。その上達法のひとつ として「極端に走る」ということが推奨され こて、、、 Literate Programming" の訳語 されます。 WEB プログラムは説明のために ています。極端に走ることて、問題点がはっ について触れてみたいと思います。 最適な順序て、プログラムを記述しますが , きりと浮び上がり , ものごとの本質をつか %iterate Programming" に対する訳語 これは必ずしもプログラミング言語が要求 むことが容易になるからて、しよう。 する順番とは一致しません。この矛盾を吸 にはいろいろな意見がありますが , 「文芸的 プログラミング」という言葉が定訳になって 収するのが処理系 TANGLE て、す。 TANGL プログラミングを芸術とみなす Knuth 先生 います。これは黒川利明氏 ( 日本 IBM 東京基 の考えは , プログラミングの中の手工業的・ E はプログラマが WEB プログラム内に挿入 個人的な性質を極限まて、デフォルメしたも した命令に従って , プログラミング言語 ( 上 礎研究所 ) が Knuth 先生の論文「 Literate Pr ogramming 」を「 bit 』誌に翻訳するにあた のと考えることがて、きます。極端に走るこ 己の例て、は PascaI) の要求する順番にプログ って , この言葉をあてたのが最初てす。 との一例といえそうて、すね。皆さんが Knut ラムを並べ変え , コンパイル可能な状態の h 先生の考えに触れることて、 , プログラミン Knuth 先生の、、 Literate Programming ファイルに変換します。 の概念には , いままて述べてきたように グに対して見つめ直すきっかけにて、もなれ WEB を使うと , プログラムとドキュメン ば , 本稿の目的は達したことになると思い トをひとつのファイルにまとめることがて 文書的・文学的・芸術的などという意味が まじり合っています。したがって , literate きるため , WEB のことを文書化プログラミ ます。 Fig. 1 WEB システムの構成 [ 参考文献 ] [ 1 ] Knuth 著 , 広瀬訳 , 「基本算法 / 基礎概 念』 , サイエンス社 [ 2 ] Knuth 著 , 有澤誠訳 , 「クヌース先生の ドキュメント纂法』 , 共立出版 [ 3 ] 有澤誠編 , 「クスース先生のプログラム 論 , 共立出版 [ 4 ] 黒川利明著 , 「作品としてのプログラ ム』 , 岩波書店 [ 5 ] 筧・竹内・野下ほか著 , 「プログラミング・ セミナー』 , 共立出版 1 三ロ 印刷 TeX 印刷結果 DVI TeX WEAVE WEB リンカ Pascal TANGLE EXE OBJ PAS Conference Room 151

6. 月刊 C MAGAZINE 1992年11月号

SOFT BANK 新しい C 言語の定本、ついに登場 ! PracticaI C Programming 現実的な C プログラミング Steve Oualline 著岩谷宏訳 MS-DOS ユーザーと UNIX ューザーのための C 言語の本格的入 門書、ついに刊行。現在圧倒的な人気と信頼を誇る、 O'Reilly & Associates , lnc. の NUTSHELL シリーズの 1 冊です。 単に文法の解説にとどまらず、仕様決定から、デバック、完成、発表、改 版まで、プログラミングの全過程にわたって解説。初級者から中・上級者 までのすべての C プログラマを対象とした、 C の入門書です。 CONTENTS プログラムの書き方の基本 / スタイル / 宣言と式の / 配列、修飾子、数値を読む / 決定 文と胸文 / プログラミングの過 / その他の制胸文 / 変数のスコープと関 / c のプリ プロセッサ / ビット操作 / 高度なデータ型 / 単純なポインタ / ファイル出入力 / デバック と化 / / 浮」、数点数 / ポインタの高度な使い方 / モジュール的プログラミング / 性の / C の重箱の隅 / 総まとめ / プログラミングの格言葉 ASCII のコード表 / 数値データ型の値域 / 演算子の優先順規則 / べき 級数を使って正弦を計算するプログラム / 関数の引数に関する自動的な データ型変換 A5 判 / 528 頁定価 3 ′ 600 円 ( 税込 ) ー ◆ C の世界で遊んでみませんか ? 気軽に楽しくプログラミングするコツ、教えます。 C のオモチャ箱 0 Amuse yourself with C Prooramming 植村富士夫著 C のオモチャ箱 実用的で応用のきくプログラム 10 個をもとに、プログラミングの楽しさと醍 醐味、実際にプログラムを描くためのノウハウを紹介しています。 10 個の A00- " ) 0 " " - " Ⅱふ ith p , ・。 g 0 , 0 ⅲ ,. , プログラムはそれぞれの場面設定がなされ、使用した関数などの具体 植村直士夫 的な解説、紹介したツールの作成方法、使用法とで構成。スク付。 0 CONTENTS T A B ストップは 4 文字で / グ何文字あるの ? / システムにはオリジナルカレンダー / 手始めのデータベースはイ芽斤録て ) 夬まり / / ひとう dir コマンド / 2 つのファイルが 1 つに早変わり / 一寸一服 / ほんほん跳ねて・・・ / 数字関数で絵を描けば / これができれば立 派な C プログラマ B5 変型判 / 232 頁定価 2 , 900 円 ( 税込 ) ( 全ソース / 実行ファイル収録 ) Why DO 2 + 2 = 5986 ? 現実的なプログラ三ング racticalC programming S にゼ 0 財 0 Ⅲ爬著 岩谷宏訳 ソフトバンク株式社 を を お近くの書店でお求めください ソフトバンク出版事業部

7. 月刊 C MAGAZINE 1992年11月号

「 X ウインドウ・システム」シリーズ このシリーズは、 O'ReiIly & Associates,Inc. から出版されている同名シリーズの翻訳で、 UN Ⅸ上で稼働する X ウ - ンドウ・システムのマニュアルです。原シリーズは米国で決定的な評価を得ており、現在 X ウインドウ・システムの標 的なマニュアルとして多数のメーカーか採用する実績を持っています。第 0 巻から第 7 巻および「 X11 Release5 増 0 現在第 0 巻、第 4 巻、第 7 巻、および「 X11 Release 増補版 (Programmer's Supplement fo 「 Release 5 ) 」の日吾版 刊行しておりますが、その他の巻につきましても順次刊行を予定しております。 [ 本書のラインアップと概要 ] 「 X プロトコル・リファレンス・マニュアル」 X サーバと X クライアントの間の通信用言語である X ネットワーク・プロトコルの解説書。 「 Xlib プログラミング・マニュアル」 ' 92 年冬刊行予 : 予価 5 , 00 例 X 用プログラミング % インタフェースの最下位レベルである X ライプラリ ( X ⅱ b ) を使ったプログラミン の手引書。 ' 92 年冬刊行予 : 「 Xlib リファレンス・マニュアル」 予価 5 , 00 例 X 用プログラミング・インタフェースの最下位レベルである X ライプラリ ( X ⅱ b ) の各ルーチンを詳説しプ リファレンス・マニュアル。 ' 92 年冬発行予 : 「 x ウインドウ・システム・ユーザ・ガイド」 予価 5 , 00 例 X ウインドウ・システムの基本概念、最も一般的な X11 用クライアント・アプリケーションについての解説を リリース 4 から新しく追加されたウインドウ・マネージャ M0tif 対応。 「 x ツールキット・イントリンシクス・プログラミング・マニュアル」 既 : 定価 5 , 00 例 X ツールキットを使用するプログラミングに関する手引書であり、ウィジェットの使用方法および複雑差 作業となる新しいウィジェットの作成方法に関する基本概念および例を記載。 ' 93 年春刊行予 : 「 X ツ—) レキット・イントリンシクス・リファレンス・マニュア胸 予価 5 , 00 田 Xt 関数、 Xt ウイジェット、アテナ・ウイジェットを詳説したリファレンス・マニュアル。刈 1 リリース 4 、屮 ' 93 年春刊行予 : 「 Motif プログラミング・マニュアル」 予価 6 , 00 例 Motif の基本概念から、アプリケーションの作成方法までを解説。 XView ver. 2 対応版 「 XView プログラミング・マニュアル」 XView の基本概念から、アプリケーションの作成方法までを解説。 XView ver. 3 対応版 「 XView ver. 3 プログラミング・マニュアル」 「 XView ver. 3 リファレンス・マニュアル」 The D 三芸一子 , ぎテ X Window 4 。 m 既 : ル X ⅣⅢイ 0 、、 ) ゴ 0 宿 第 0 ・ 定価 5 , 00 例 第 1 巻 第 2 巻 第 4 巻 第 6 巻 第 7 巻 X 加ト リファレンス・マニル ーーⅣイ 0 を、 X 川朝議猶 第 7 ・ 第 7 を 3 XView プログラミング・マニュアル 既・ 定価 5 , 00 価 を 7 を 定価 7 , 00 定価 3 , 00 XView リファレンス・マニュアル 「 X11 Release 5 増補版」 (Programmer's SuppIement fo 「 ReIease 5 ) P " 第灯、宿や朝第 M R に、 5 刈弊 elea 文 5 増え 既刊 定価 4 , 000 円 リリース 5 で加わった新しい機能、および変更された機能 についての解説書。 こ注文・お問い合わせは SOFT ソフトバンク株式会社出版事業部 日 K 〒 108 東京都港区高輪 2 ー 19 ー 13 NS 高輪ビル TEL. 03 ー 5488-1360 を

8. 月刊 C MAGAZINE 1992年11月号

MAGAZINE 1992 年 11 月 1 日発行 ( 毎月 1 回 1 日発行 ) 第 4 巻第 11 号通巻 38 号 1990 年 2 月 2 日第 3 種郵便物認可 提携・ LANGU E 誌 / 監修・石田晴久 C 言語技術情報誌・ C マカシン 980yen NOV. VOI. 4 No. 11 1992 基礎子アプリケーシ = ン機能搭載まで MS - Win 面 w ロクラミング 特集・ C 言語で挑戦する 5 D 寺月リイ寸録 . 小社刊。 c プログラマのための c 十十入門。掲載プログラム・牛歩キャッチャー。 Winvad 部。・本誌掲載ソースプログラム ・ COMMAND. COM 機能拡張プログラム「 USH 」・ GCC mathematirs IibraryrGNULIB 」・ XMS ドライバ「 XMZ 」最新版 此望洋のプログラミング道場ヌル / プログラミングの工ッセンス匠ラー」 ( 2 ) / 実践アルゴリズム戦略分割統治解法 / X68k 活用講座 C 十十入門講座 T Ⅳ The C 十十クラス機構 ( 4 ) / 実践 C プログラミング入門ソースファイル分割 / 新 MS ー 00S プログラミング入門ドライプ構成 巻頭インタビュー >Ch 「 is Stone(2)OMG 会長 / 提携記事 >CIean Your Room : Fo 「 m 引 Methods fo 「 the '90s

9. 月刊 C MAGAZINE 1992年11月号

ログ 柴田望洋 MS-Windows のプログラムは , 「使って天国 , 作って地獄」 , すな わち , 使うのは簡単だが , 作るのは難しいといわれている。確か に Windows のプログラミングに精通するためには , いろいろな , めんどうな規則を覚えたり , 数多く用意されている API 関数の利 用法に慣れたりしなければならない。 Windows のプログラミング に必要な情報は膨大であり , かぎられた誌面でそのすべてを紹介 することはできない。本特集では , ただ多くの情報を伝えるので はなく , Windows プログラミングの基本的な原理を解説する。基 本原理を理解してしまえば , 応用へと進むのも容易であろう。 トロダフション ン イ り使ったりプログラムを組んだりする程度 はそれほどの注目を浴びなかったが , Ver. て、あったが , Ver. 3.0 から本格的に利用す 3.0 になってから急激に市場に浸透していっ はじめに るようになった。なにせ , 現在の筆者の、、 A ているようだ。筆者自身は , Ver. 1. * の W UTOEXEC. BAT" には , indows は , 一度だけ動かしてみたが , それ WIN / 3 ほどの魅力を感じなかったのて、 , すぐに使 MS-Windows ( 以下 Windows と呼ぶ ) が という行があり , 自動的に Windows を起動 用を中止した。 Ver. 2. * のころも , ときお 流行している 0Windows は ,Ver. 2. * まて、 44 C MAGAZINE 1992 11

10. 月刊 C MAGAZINE 1992年11月号

特集 ープログラミンク するようにしているのだ ( ちなみに最後のパ ゞ : 〃は , オープニング画面のス ラメータ キップを指定するものて、ある ) 。 残念ながら , 日本て、は欧米諸国を中心と した諸外国ほどには Windows が浸透してい ないのも事実て、ある。これは , (a) 日本語を本格的に活用できるソフトウ = アが少ない (b) 日本でもっとも広く使われている PC ー 98 01 シリーズ ( ノーマルモード ) のグラフィ ックは解像度が低く , 拡張性も乏しい。 さらには , 旧 M ー PC / AT ( または互換機 ) に 比べると , クロック速度の高い CPU の普 及が遅れている などが大きな要因て、あろう。 Windows 自体の浸透の遅さとほば相関す る形て、 , Windows プログラミングも「これか ら」といった感がある。 参考文献にも示すように , Windows プロ グラミングに関する書籍が日本て、も出版さ れている。今回は , 雑誌の特集記事て、あり , 量的な制約を考慮して , Windows プログラ ミングの基礎中の基礎のみを解説する。大 規模な例題は示さない。基本的な事項を「 ( や や ) 詳細に」解説する。 さて , Turb0 C 十十 for Windows や BO rland C 十十には Object Windows' MS-C には Microsoft Foundation Class Library といった C 十十用クラスライプラリが用意さ れており , 今後の Windows プログラミング は C 十十が主流になるだろうと思われる。し かし , 本特集て、示すすべての例題は C 言語に よる。前述のクラスライプラリは , プログ ラミングを簡略化させるものて、あるが , 真 に本格的なクラスライプラリとはいい難く , どちらが今後の標準になるのかもわ また , からない ( もちろん第三者によるライプラリ が標準となる可能性もある ) 。 本特集て、は , 読者に Windows プログラミ 。ただし , C 言 ングの知識を前提とはしない 語および Windows については , それなりの 知識があるものとする。たとえば , 「ポイン タ」や「ダイアログックス」といった用語は 知っていることを前提とし , いちいち説明 することはしない なお , 本特集用のプログラムの開発は , 以下の環境て、行った。 CPU : NEC PC-H98mode190 (RAM15 M バイト ) 動作モード : ハイレゾモード DOS : 日本電気 MS-DOS Ver. 3.3D Windows : 日本電気 MS-Windows Ver. 3. OA 従来 , Windows のプログラムは , MS-C と SDK ( ソフトウェア開発キット ) の組み合 わせて、開発しなければならなかったが , 現 在は , BoraIndC 十十 , TurboC 十十 forW indows, QuickC for Windows などにおい ては , SDK なしても Windows プログラミン グが可能て、ある。 ' て、于すプログラム例は , 処理系に依 存するような特殊な機能は利用していない のて、 , Windows 開発用 C コンパイラて、あれ ば , あらゆる処理系て、コンパイル可能なは ずだ。 また , 誌面の量的制約を考慮して , コン パイル手順やメイクファイルの作成方法な どの解説は行わない。各処理系のマニュア ルなどを参考にしていただきたい なせ Windows プログラ ミングか ? Windows のプログラムは , 使うのはやさ しいが , 作るのは難しいといわれる。難し いものをあえて作るのて、あるから , 何らか の恩恵に預かるはずだ。ここて、 , Windows プログラミングのメリットをあげてみよう。 ・マルチタスクのサポート Windows は , マルチタスクをサポートす る。標準的な Windows プログラミング規 則に準じてプログラムを記述すれば , そ のプログラムは , マルチタスク環境て動 作するようになる。すなわち , ほかの W indows プログラムを , 同時に表示したり 実行したりてきるのてある。一般的な C プ ログラムて、は , このようなことはてきな ・デバイス非依存 標準的な Windows プログラミング規則に 従ってプログラムを記述すると , Windo ws が動作する環境て、あれば , どのような マシン上て、も動作する ( コラム I 参照 ) 。 たとえば PC ー 9800 シリーズ上て、開発したプ ログラムが , そのまま IBM-PC/AT て、動 作する。また , リソースを工夫すること て、 , 多言語対応も比較的容易て、ある。 ・ GUI Windows は , GU I(GraphicaI User lnte rface : グラフィカルユーザインタフェイ ス / 、、グーイ〃と発音 ) をサポートする。 GUI については , いまさら説明することも ないだろう。 Windows て、は , GUI に加え て , 統一されたユーザインタフェイスを 提供する。各アプリケーションにおける メニューの操作性などが共通て、あること は知っているだろう。プログラマは , あ らかじめ準備されている豊富なインタフ ェイスを利用するだけて , Windows アプ リケーションに共通な操作性を持ってい るプログラムが作成て、きる。 コフ テパイス依存性 Windows 上のプログラミングても , 非正 規の手続きを踏めば , マシンやデバイスに 依存するプログラムを作成てきる。実際に 物理アドレスに直接アクセスする方法や , ROM-BIOS をコールする方法などが広く知 られている。有名なのが , *TheNortonD esktop for Windows" て、ある。 Windows や DOS を介さずにディスクアクセスを行う このユーティリティは , 対応機種以外のマ シンては動作しない また , 特定のグラフィックの解像度 ( たと えば 640 x 480 ドット ) を前提とするアプリケ ーションが , より低解像度なグラフィック 環境て、は動作しないという例も実在する ( プ ログラマは , 特定の解像度を前提としては ならない ) 。 特集 MS-Windows プログラミング基礎学 45