3 MAGAZINE プログラミング技術情報誌 SOFT uNK 2002 年 3 月 1 日発行 ( 毎月 1 回 1 日発行 ) 第 14 巻第 3 号通巻 150 号 1990 年 2 月 2 日第 3 種郵便物認可 ublishing 定価 1 , 200yen 2002 っ ( っ 【特集☆ 1 】 【特別記事】 P/ECE によるゲームプログラミング テジタルフィルタ 【最新開発環境レポート】・・・ >Linux 用 RAD ツール rBorIand KyIix2J >UML 対応オプジェクト指向 CASE ツール CWithCIass 7.0 山 ソフトウェアによる オーティオテジタル信号処理のレシビ 【付録 CD-ROM 】・ BorIand JBuiIder6 PersonaI(Windows/Linux/SOIaris 版 ) ・ BorIand C + + Compi 厄「 5.5.1 ・ Ruby1.6.6 ・ RubyEntryPackageforWin32 【特集☆ 2 】 C / C + + / Java 実力チェック ・ BorIand C + + Compi 厄「 5.5 環境設定支援ツール・ [ S -86V 3.30C 試食版 プログラミング期末試験 ・シーオーリボーツ Ve ⅱ体験版・ With ass Ver7. OJ TriaI ・ LHASA V 既 0.17
モニタ応募の注意 ◇綴じ込みの葉書に必要事項を明記のうえご応募ください。 ◇記入もれやモニタ番号が複数記入されている場合 , 綴じ込 み葉書以外でのご応募は無効とさせていただきます。 ◇締め切りは 3 月 18 日必着です。 読者プレゼント応募の注意 ◇綴じ込みの葉書に必要事項を明記のうえご応募ください。 ◇雑誌公正競争規約の定めにより , 懸賞当選者はこの号のほ かの懸賞に入選できない場合があります。 ◇締め切りは 3 月 18 日必着です。当選結果は 2002 年 7 月号に て発表いたします。 バックナンバー情報 03-5549-1200 ( 1 月 18 日現在の在庫状況です。品切れの際はご容赦願います ) 読者プレゼン モニタ募集 1 名 A Java バッグ 1 Borland C + + Builde 「 5 P 「 ofessional 1 名 提供サン・マイクロシステムズ ( 株 ) 提供ボーランド ( 株 ) URL http: 〃 sun. co.jp/ TEL 03 ( 5350 ) 9380 気ⅵー新 ー visual 血叩 me 猷 with Database 聞 = = 佩 ern T001s い”れゼアルを物覆 ・ 0 ま上のコンぞーネント ・メをリグをますみ 1 : みな物 0 ・インターネ新 ・第ご ! 画い 主引な生を社を齢り . 多まなニーに第えら 、にで実されたピジ : 、アル発ツール Bodand 0 B ⅶ 5 JavaOne のロゴが入ったオリジナルバッグ。 Borland C + + BuiIder の最新版。デバッグ機能を さが約 30 センチもある大容量バッグ 強化し , 最新の A 日や ANSI 規格に対応したビジ ュアル開発環境 C オプジェクト指向からエージェント指向へ BDeIphi ゲームプログラミングの工ッセンス 5 名 提供ソフトバンクバブリッシング ( 株 ) 提供ソフトバンクバブリッシング ( 株 ) TEL 03 ( 5549 ) 1200 TEL 03 ( 5549 ) 1200 高 2001 年 〇 特集 1 「 XML 入門」特集 2 「 D ⅳ ectX8 の徹底解説」 2 月号 特集「実力チェックプログラミング期末試験 3 月号 C ℃ + + /Java/Perl/Ruby 」 特集「春のプログラミング入門大特集プログラミング事始 4 月号 め , C/C + + /Java/DOS/ データベース入門」 特集 1 「プログラマ必須ハードウェア入門」 5 月号 〇 特集 2 「チャレンジ ! i アプリプログラミング」 特集 1 「使いやすいユーザインタフェイスを求めて」 〇 6 月号 特集 2 「 MacOSX アプリケーション開発ガイド」 特集 1 「 AII aboutpointer ポインタのすべて」 特集 2 「解析 ! Borland KyIix 」 〇 レポート「 PlayS ね tion2 でプログラミング遊ぼう ! BAS ℃ 7 月号 STUDIO( 前編 ) 」「 Visual Basic to Borland Delphi 移植テ クニックを考える ( 前編 ) 」ほか 特集 1 「リアルタイム 3DCG 技術」 特集 2 「ソフトウェア入門」 〇 レポート「速報 ! Borland Delphi 6 」「曰 ayS ね tion2 でプログ 8 月号 ラミング遊ばう ! BAS ℃ STUDIO( 後編) 」「 VisuaI Basict0 Borland Delphi 移植テクニックを考える ( 彳編 ) 」ほか 特集 1 「 Linux プログラミングの作法」 特集 2 「 XML データベース + Web アプリケーション」 レポート「 PS2 LinuxKit プログラミングガイド」「 Borland JBuiIder5 」「 BorIand JBuiIder5 f0 「 Mac OS X 」 特集 1 「プログラムの高速化・最適化」 〇 特集 2 「フリー環境でアプリケーションを作ろう」 10 月号 連動企画「Ⅵ su 引 Studio . NET 2 日本語版最初の一歩」 特集 1 「開発ツールをもっと便利に使おう ! 」 1 1 月号 〇 特集 2 「自在に操る SCS レ ATAP 凵 特集 1 「正規表現入門」 12 月号 特集 2 「 CG レ pe 市ヾッケージの活用」 2002 年 特集 1 「プログラマのための数学教室」 1 月号 特集 2 「 MDP による携帯 Java プログラミング」 スペシャルインタビュー「 Java を作った James GosIing 」 〇 特集 1 「 SDL 」 2 月号 特集 2 「 eXtreame P 「 ogramming 」 〇・・・在庫あり , △・・・在庫僅少 , X ・・・在庫なし バックナンバーのご案内 バックナンバーをご希望の方は , 電話もしくはインターネットでご注文ください。 金額 ( 税別 ) ご注文方法 支払い方法 カード決済商品代金 + 280 円 ( 送料 ) インターネット http://books.softbank.co.jp/ 商品代金 + 530 円 電言舌 03-5549-1200 商品代引 ( 送料 + 代引手数料 ) 土 , 日 , 祝日を除く 10 : 00 ~ 12 : 00 , 1 3 : 00 ~ 17 : 00 ※電話注文の際のお支払い方法は , 勝手ながら代引に限らせていただきます。 ・在庫などの問い合わせ 03-5549-1200 10 : 00 ~ 12 : 00 13 : 00 ~ 17 : 00 ( 土 , 日 , 祝日を除く ) Web サイト http://books.softbank.co.jp/ magazine@softbank.co.jp e-mail ※一部配達できない地域がございます。商品には弊社発行の納品書と領収書 が同梱されます。また , ご注文により商品在庫が変動するため , 品切れの際 はご了承ください。 本位田真一 Del hi 初心者にもわかりやすくゲームプログラミング の工ッセンスを解説。 D 引 phi6 に対応 ソフトウェアの 2 大バラダイムをやさしく解説。 ソフトウェアのこれからを知る入門書 2001 年 11 月号 モニタ募集要項 モニタ選考発表 ( 敬称略 ) ◇応募資格 : プログラミング経験者 , およ ( 1 )Borland C + + BuiIder 5 ProfessionaI びプログラミング学習者 武島平八郎 ( 京都府 ) ◇モニタ期間 : 商品受領より 3 か月間 ( モ (2)TurboIinux 7 Workstation ニタ商品によっては発送に日時を要す 佐々木康朗 ( 大阪府 ) るものがあることをご了承ください ) 。 ◇モニタレポート : モニタ期間中に最低 2 回のモニタレポートを提出していただ 2001 年 11 月号 きます。レポートはテキストファイル プレゼント当選者発表 ( 敬称略 ) とし , フロッピーディスクにて「 READ (A)UML-X バッグ ERS ' ROOM モニタ係」宛に投函いただ 内藤弘仁 ( 埼玉県 ) くか , あるいは e - ma ⅱアドレス宛に電子 ( B ) C ℃ + + による組み込みシス メールを送信ください。 テムプログラミング ◇レポート発表 : 提出いただいたレポート 岡本雅之 ( 広島県 ) は , 編集部到着月日から 2 か月後に発売 高島文生 ( 高知県 ) する本誌上 , または付録 CD - ROM にて 掲載収録する予定です。 ◇選考発表 : この号のモニタ選考結果は 2002 年 7 月号にて発表いたします。 た , 原文を手直しさせていたオく READERS'ROOM ではみなさ 場合もあります。ご了承ください。 まのご意見 ご感想をお待ちして [ 宛先 ] おります。ほかにも , コンピュー タをめぐるさまざまなこと , 何で 〒 107-0052 東京都港区赤坂 4-13-13 もけっこうです。質問もどしどし ソフトバンクバブリッシング ( 株 ) お寄せください。 c マガジン編集部「 R & R 」係 投稿原稿 , 自作ソフトも受け付 [e-mail 宛先 ] けております。採用ぶんには弊社 規定の薄謝を進呈いたします。お cmaga@softbank. CO. jp [WebA—ジ ] 送りいただいた原稿・ソフトは , 原則として返却いたしません。ま http://www.Cmagazine.jp/ 9 月号 = = ロ 1 65 READERS'ROOM
7. 各メーカー・べンダのホームページ 8. 各メーカー・べンダの営業担当の説明 9. 各メーカー・べンダ・ SI 企業のセミナー 10. 展示会の情報 11. メーリングリスト等の意見 12. SI 企業のアドバイス 13. その他 ( QB. 職場におけるハード / ソフトの決済可能金額はいくらですか。 1.5 万円未満 2.5 ~ 10 万円未満 3. 10 ~ 20 万円未満 4.20 ~ 30 万円未満 5.30 ~ 50 万円未満 6.50 ~ 18 万円未満 7 コ開万円以上 8. 該当予算なし Q9. 本誌の購入スタイルは ? I. 定期購読している 2. 毎月書店で購入している 3. 記事内容によってときどき購入 4. 付録 CD - ROM 内容によってときどき購入 5. 今回初めて購入 Q10. 今月号で , よかった記事の番号とその理由をお選びください。 ( 3 つ まで ) 己事タイトル 1. 特集 1 「デジタルフィルタ」 2. 特集 2 「プログラミング期末試験 - ーー c 言語編」 3. 特集 2 「プログラミング期末試験ーーー c + + 編」 4. 特集 2 「プログラミング期末試験ーー Java 編」 6. 実践 c + + ゼミナール 5. Get lnto C World ! ! 7. スタートアップ Java 8. EnJOY PerI Programming 9. なあ Ruby を読もうじゃないか 11. おいしい cocoa のいただき方 10. アルゴリズムラボ 12. 最新開発環境レポート「 WithCIass 7. OJ 」 13. 最新開発環境レポート「 BorIand KyIix 2 」 14. 特別記事「 P 疋 CE によるゲームプログラミング」 16. C MAGA Bookends 15. MONTHLY HEADLINE 17. 学問のススメ千言万語 18. フィンローダのあつばれご意見番 19. C マガ電脳クラブ 20. READERS' ROOM 選んだ理由 I. 業務に役立った 2. 読みやすく , 基礎知識が身についた 4. 最新技術動向がわかった 3. テクニックが理解できた 5. 興味を持っている分野・内容だった 6. 疑問が解決した Q 1 1 . どのような分野に興味をお持ちですか。 3 つまでお選びください。 3. AI / 知識情報処理 1. 文字処理 2. 画像処理 / CG 4. ミドルウェア 5. web/ インターネット 7. アルゴリズム全般 6. ファイル管理 / データベース 9. 移植 ( 機種間 / 言語間 ) 8. 暗号化・セキュリティ 10. 音楽 /MIDI ll. 開発環境 12. CASE ツール はハードウェア制御 13. 組み込みシステム . デノヾッガ・テストツール 16. 通信 18. ゲーム 19. デモ ロ . GUI 21. UNIX 22. Linux 20. Java 23. x Window 24. 情報処理試験 / 資格試験 25. コンポーネント Q12. 以下のリストのうち , ご購読されている雑誌をお選びください。 ( 4 つ まで ) l. NET 、 MORK MAGAZINE 2. lnterface 3. Java World 5. Linux World 6. MSDN Magazine 4. Linux JAPAN 8. UNIX Magazine 9. UNIX USER 7. Software Design 10. Visual Basic Magazine 11. Windows2()()0 World 13. 日経 Windows プロ 12. 日経 Linux 14. 日経インターネットテクノロジー 15. 日経オープンシステム 16. 日経コンピュータ 18. 日経バイト 17. 日経ソフトウェア 19. その他 ( QI 3. 本誌のホームページ「 C MAGAZINE fO 「 Web(http://www ℃ magazi ne. jp / ) 」をご存じですか。 1. 利用したことがある 2. 知っているが , 利用したことはない 3. 知らない 「 CMAGA 刀 NEfo 「 Web 」に望むことはなんですか。 ( 3 つまで ) Q 14. 1. 製品情報 2. イベント情報 3. プログラマ向けの最新ニュース記事 4. プログラマに役立つツール・ライプラリなどのダウンロード 5. ソースファイルのダウンロード 6. 最新のニュースやプログラミング活用情報をお届けする電子メール 7. プログラミング関連の掲示板・質問コーナー 9. 本誌ノヾックナンバー記事の検索 8. 読者メーリングリスト 10. 本誌バックナンバー記事のデータダウンロード (PDF など ) Ⅱ . その他 ( Q 15. DVD- ROM を使用できる環境をお持ちですか。 2. いいえ ■アンケート項目 QI . C / C + + のプログラミング歴 : 該当するものをお選びください。 1. 未経験 2. 1 年以内 3. 3 年以内 4. 5 年以内 5. 10 年以内 6. Ⅱ年以上 Q2. C 言語の習熟度 : 該当するものをお選びください。 1. これから学習 2. 文法を理解できる 3. 小型のツールが組める 4. 中型アプリケーションが組める 5. システムの記述ができる Q3. あなたのプログラミングの目的は何ですか。 1. 業務として , ソフト開発を専門としているため 2. 業務の一部として , 必要に応じて開発を担当している 3. 技術研究開発のため 4. 学習・スキルアップの一環として 5. 仕事とは関係なく , 個人の趣味で 6. プログラミングはしない Q4. 主に使用されているプログラミング・ツールを 3 つまでお選びください。 1. Visual C + + 3. Kylix 2. C + + Builder 4. DeIphi 6. Perl 5. Ruby 7. CodeWarrior 8. VisualBasic 9. Microsoft Office の VBA 10. Java/Java 系 RAD 11. Web 開発ツール 12. COBOL 14. その他 ( 13. アセンプラ言語 15. 使用していない Q5. 現在 , 業務または個人で使用されている OS マシン環境は何ですか。 3 つまでお 選びください。 1. Windows 95 / 98 2. Windows Me 3. Windows XP 4. Windows NT 5. Windows 2 Ⅸ ) 0 6. Linux 8. その他の PC-UNIX 9. PC 以外の UNIX 7. Free BSD 12. その他 10. メインフレーム Ⅱ . Mac OS Q6. 職場でのソフト / ハード購入の際の役割を教えてください。 2. 購入案をまとめる 1. 購入を決定・承認する 3. 購入案をまとめる際に意見を求められる 4. 関与しない Q7. Q6 で 1 ~ 3 と答えた方にお聞きします。 製品購入の際に参考にする情報源は何ですか。 3 つまでお選びください。 l. 友人・知人からの情報 2. 部下からの意見 3. 自社システム担当部署の意見 4. 専門誌の記事 5. 専門誌の広告 6. 書籍 C MAGAZINE 2002 年 3 月号アンケートはがき ・ 3 月号に対する感想をお聞かせください ( お手数ですが , 以下のすべての項目について該当する番号を選んでご記入ください ) QI ロ Q2 ロ Q3 ロ その他 4 ー ( 。ロ Q9 ロ Q 己事ロ記事ロ記事ロ 理由ロ 理由ロ理由ロ Q12 ー ( Q ロ 一三ロ その他 その他 その他 Q15. ・過去もっとも興味深かった ( もう一度読みたい ) 記事・特集 ・今後希望する記事・特集 ・ご要望・近況など ( どのようなことでもけっこうです )
P / ECE によるゲームプログラミング 本多直人 。↓山 ロ日ロ による開発環境が付属し , P/EC E で動作するさまざまなプログラ 1 ミング方法を解説し , ゲームを作 成するためのポイントについて紹 P/ECE とは ます。 P / ECE でのプログラミングの参考に 説と , 簡単なソフトを作ってみたいと思い 実際に P / ECE でのプログラミング手法の解 ることで P/ECE の特徴を見ていき , 次に は , 前半で P/ECE と WonderWitch を比較す け開発キット「 WonderW1tch 」です。本稿で イの携帯ゲーム機「 WonderSwan 」の個人向 そこでどうしても連想するのが , バンダ リーで自由に配布できます。 よう。作成したプログラムはライセンスフ が自由にプログラミングできることでし に開発環境も用意されているので , ユーザ 部情報のほとんどすべてが公開され , さら された携帯端末機です。最大の特徴は , 内 P / ECE は昨年末にアクアプラスから発売 P/ECE の概略と なれば幸いです。 す。細かく見ていくと次のような違いがあ 主要な相違点は TabIe 1 ~ 3 のようになりま P/ECE と WonderWitch (WonderSwan) の WonderWitch との比較 WonderWitch は開発キットといっても , 商品としての位置づけ ります。 WonderSwan というゲーム専用機の 1 アプ リケーションという位置付けなので , ゲー ム機ビジネスモデルの制約を受けてしまい ます。たとえばハードウェアを直接操作す ることや , それに必要な情報は公開されて いません。また WonderSwanCoIor が発売 される前に開発されたものなので , カラー 化によって拡張された機能の中には , 正式 にサポートされていないものもあります。 P / ECE はゲーム専用機というよりもゲー ムのできる携帯端末というべきもので , PC 用のゲームやデータの一部を外部に持ち出 したり , 他者と交換・対戦したりという「ポ ケットステーション」 , 「ヴィジュアルメモ リ」的な位置づけになります。情報端末と して PDA 的な使い方もできますが , 電池が 連続稼働で 5 ~ 8 時間程度 , スタンバイモー ドでも数日程度しかもたないのが苦しい ところです。 またオリジナルでオープンなアーキテク チャのため , カーネルソースや回路図とい った情報まで公開されています。 PC に関連 ソフトをインストールしたら「回路図」とい うディレクトリができていて驚いた人も多 いでしよう。 CPU とメモリ周辺 CPU 性能自体では , 圧倒的に P / ECE のほ うが速いです。でも , 後述するように W 。 n derSwan ではゲーム向けの機能を専用ハー ドウェアで実装しているのに対して , P/E CE ではソフトウェアでエミュレーションし ているため , アプリケーションレベルでは CPU の違いはさほど感じられません。 また , メモリ構成自体は非常に似ている のに使い方が全然違うあたり , 両 CPU のア ーキテクチャの違いが出ていて興味深いで す。 フラッシュメモリを主なファイルシステ ムとして使うのはどちらも同じですが , W onderWitch がアプリケーションをフラッシ ュメモリに置いたまま実行し , ノヾッテリバ ックアップされた SRAM をワークエリアと ファイルシステムに分割して使用している のに対して , P/ECE ではアプリケーション はフラッシュメモリ上のファイルシステム に圧縮された状態で格納され , SRAM に展 開したうえで実行されます。そのため , SR M はすべてメインメモリとして使用される のでファイルシステムとしては使用せず , バッテリバックアップもされません。 画面とサウンド 画面解像度は WonderSwan カラーが 224X 144 ピクセル , 4096 色中最大 241 色同時発色 なのに対して , P / ECE は 128X88 ヒ。クセルで 白黒 4 階調といささか ( かなり ? ) 寂しいで すが , 意外と表現力はあります。逆にこれ P / ECE によるゲームプログラミング 1 イ 3
ルという形式だけですが , P/ECE には . srf と . pex という 2 つの実行形式ファイルがあ ります。 . s ( 実行ファイル ) はコンパイル・リンク で生成されるファイルで , PC から直接 P/E CE のメインメモリへ転送して実行されます。 P / ECE 上にファイルとして保存されるわけ ではないので , 電池を抜いたり , リセット したり , あるいはプログラムの実行を停止 しただけで消えてしまいます。再度実行す るにはもう一度 PC から転送する必要があり ます。 . pex ( 実行イメージ ) は . s ファイルに P / ECE 上で表示するアイコンとファイルの説 明などを加えたうえで圧縮された形式で , P/ECE にファイルとして書き込んで持ち 運ぶためのファイル形式になります。 P / ECE のプログラミング 画像やサウンドを用意し専用ソフトで 比較的容易に対応ソフトを開発できます。 P / ECE には開発環境が付属し , C 言語で Fig. 1 TabIe 3 アプリケーション開発の流れ 工デイタでソースプログラムを書く 指定形式へ変換する リンクする コマンドラインからコンバイル , 実機へ転送して実行 P/ECE と WonderWitch の OS/ ソフトウェアの違い アセンブラの使用 ファイル転送 コンバイラ API Wonde 「 Witch ・付属の専用 LS ト C のほか , DOS16 ビッ トコードを生成するコンバイラが流用 できる ・コマンドラインから起動 ・基本的に makef ⅱ e の記述が必要 基本的にハードウェアをラップしただけ 各コンバイラのインラインアセンプラの ほかに , MASM など DOS16E ットコー ド対応のアセンブラが使用可能 ソフトを PC から転送する際 , Wonder Witch 側はシェルに戻って通信状態に設 定する必要がある 画像などの変換ツール基本的にすべてコマンドラインから操作 マニュアルのチュートリアルだけでは , チュートリアル難しい 基本的に DOS の Sma Ⅱ Mod 引だが , セグ メントアドレッシングが必要なため . C 言語初心者にはやや荷が重い プログラム難易度 P/ECE ・ gcc のみ ・基本的にコマンドラインから起動。 機能限定で GUI ソフトからのコマン ドライン呼び出しをサポート ・ make も使えるが , makefile を書か なくてもコンバイル可能 ゲームに特化した高レベル A 曰が用意。 ユーサは基本的にハードウェアを意識 する必要はないというスタンス ・ gcc のインラインアセンブラが使用 可能 ・専用アセンプラも付属 ユーザアプリケーション実行中でも新 しいソフトを転送して , 即実行できる ほとんどのツールは GUI 化されている お散歩綾香のチュートリアル付き。基 本的なプログラム手順はひととおりマ スターできる main 関数がないなど , DOS とは多少 勝手が違うが , システム全体が単純で 素直な構成なため , プログラム難易度 は低い しかし独特のプログラミングスタイルが 必要なので , 最初はとまどうかもしれませ ん。 P / ECE のプログラミングの実際と , ゲ ームプログラミングの基本を見ていくこと にします。 P / ECE はシンプルなハードウェアなので , P / ECE のプログラムスタイル てみましよう。 と思わずに , 最後まで実際にプログラムし ている人も「今さらチュートリアルなんて」 います。他機種でプログラミングを経験し がひととおりマスターできるようになって よくできていて , P / ECE のプログラム手順 開発システムに付属のチュートリアルは ってください。 れずにダウンロードし , アップデートを行 るようにしましよう。最新版システムも忘 トラブルシューティングは必ずチェックす をする前にオフィシャルサイトの FAQ と , ストールされます。できればインストール ますが , その際開発環境もいっしょにイン るために PC へ付属ソフトをインストールし み込まれていないので , システムを転送す P / ECE は初期出荷状態ではシステムが組 開発環境のインストール P / ECE によるゲームプログラミング 145 になります。 ル変数で int e 0 ; を定義すれば使えるよう 関数などがエラーになりますが , グローバ errno 変数が定義されていないので算術 意してください。 すが , すべてが使えるわけではないので注 し以外に ANSI の標準ライプラリも使えま API リファレンスに載っている API 呼び出 clude します。 piece. h で定義されているので , 忘れずに in これら P / ECE 固有の API 呼び出しなどは けで十分でしよう。 けの API について使い方をマスターするだ ます。 ニゲームなどを作るには , これだ 用するものを集めると TabIe 4 のようになり に少ないです。その中でもとくに重要・多 API 数も Windows API などと比べると非常
プログラミング技術情報誌・ C マガジン C 0 N T E N T S デジタルフィルタ ソフトウェアによる オーディオデジタル信号処理のレシピ PARTI デジタルフィルタ PART2 FFT を使った信号処理 PART3 特殊な信号処理 C/C + + /Java 実力チェック プログラミング期末試験 C 言語編・・・出題・解説 : きだあきら C + + 編・・・・・出題・解説 : 大城正典 Java 編・・・・・出題・解説 : きだあきら GetInto C WorId ! ! ー c 言語入門講座 く最終回 > 入門レベル補足小薗三典 / 中井信会 C プログラマのための C + + 入門 実践 C + + ゼミナール く最終回 > C + + アプリケーション作成のポイント吉野興 スタートアップ Java—Java 言語事始く最終回 > コレクシ = ン毛呂宗夫 Enjoy PerI Programming モジュールを活用しよう く第 14 回 >YukiWikiMini/Template の改良結城浩 なあ Ruby を読もうじゃないか = ー = 。。 , 。ー = 。。 画像処理を極める ア丿レゴ、リス、ムラボく第 30 回 > 画像圧縮アルゴリズム⑨動的辞書を利用した圧縮昌達 K'z 特集 1 小川要 特集 2 13 42 86 93 98 107 114 120
情報を使って初期化することと , 動的資源 のコピー時に動的資源オプジェクト (W1ndo w 型オプジェクト ) のコピーコンストラクタ を呼び出していることです。 List 15 のコヒ。ー代入演算子は , 一時変数 に動的資源をコピーして生成した後 ( 【 b 】 , 【 f 】 ) , 基底クラスの代入演算子を呼び出 して , 基底クラスサブオプジェクト部分を コビーします ( 【 g l) 。それが済むと代入が 成功したことになるので , 古い資源を delet e し ( 【 h 】 ) , 新しい資源へのポインタをメ ンバにセットします ( 【 i 】 ~ って , 空欄をすべて埋めると List23 のよう になります。 しかし , Document クラスのコピー関数 が例外を投げないという仮定が崩れれば , List 15 のコピー代入演算子は正しくなくな ります。もし Document のコピー代入演算 子が例外を投げたなら , バッファ配列が解 放されずにメモリリークを起こすのです。 このように動的に確保したナマの配列は au to ー ptr くルも使えず , 例外の発生に対して脆 弱です。ですから , 通常は vector などの標 準コンテナを使うとよいでしよう。 「問 16 」 List 18 ・解説 標準テンプレートライプラリ (STL) の総 合問題です。 双方向イテレータを提供する list コンテナ の使用を前提とする以上 , ランダムアクセ スイテレータのみが持つ + = 演算子を使用し ている List16 と List19 は間違っていること になります。 あと問題になるのはイテレータの有効性 です。コンテナが提供したイテレータは , 操作によってはその有効性を失います。た とえば , vector は要素が挿入されるときに 内部配列の容量が足りなくなった場合には , 内部配列を割り当て直します。このとき , この vector オプジェクトから提供されたす べてのイテレータは有効性を失ってしまう のです。 List 17 の , cl. insert(), *j); という部分は , この危険性を内包していま す。この問題を解決するには , List18 で , 土 = cl. 土 nse て日土 , *j); 土十 というように , inse れ ( ) 関数が返す有効な イテレータ ( 挿入した要素へのイテレータ ) を利用すればよいのです。 《学習指針》 〇 0 点 ~ 59 点・・・・・・初級者 C + + の初級者です。プログラム言語自体 が , 初めてという方もいるかもしれません ね。専門用語などが苦手な人は , 参考文献 [ 1 ] のような平易な入門書でオプジェクト 指向の考え方や , C + + の基礎を固めること をお勧めします。 〇 60 点 ~ 89 点・・・・・・中級者 C + + の中級者です。参考文献 [ 2 ] ~ [ 4 ] の ような本で , 細かな点やノウハウをしつか りと学習してください。とくに本テストで 間違った事項を入念にチェックしましよう。 標準テンプレートライプラリに関しては参 考文献 [ 5 ] のような良書がありますし , 参 考文献 [ 4 ] にもコンパクトにまとめられた 解説があります。 C + + の規格書である参考 文献 [ 6 ] ( 英語版 ) はもちろん , 参考文献 [ 7 ] , [ 8 ] のようなバイプル的書籍も読み通 してみてほしいところです。また , オプジ ェクトモデリング手法やデザインパターン など , ソフトウェア設計に関する事項も学 習するとよいでしよう。 002 プログラミング 期末試験 〇 90 点 ~ 100 点・・・・・・上級者 C + + の上級者です。本テストでは C + + のす べての要点を出題したわけではありません が , おそらく C + + というプログラミング言 語ををきちんと理解されていることでしょ う。また , ソフトウェア設計などにもそれ なりの経験をお持ちかと思います。 で理解していれば , 改めて学習指針を示す までもありません。各自研鑽を積んでいた だければと思います。 参考文献 [ 1 ] 『プログラミング講義 C + + 新装版』 , 柴田 望洋著 , ソフトバンクパプリッシング , 2000 [ 2 ] 『 Effective C + + 改訂 2 版』 , Scott Meyers 著 , 安村通晃他訳 , アスキー / アジソン ・ウェスレイ・パプリッシャーズ・ジ ャパン , 1998 [3] 『 More Effective C + + ー最新 35 のプログラ ミング技法』 , Scott Meyers 著 , 安村通 晃他訳 , アスキー / アジソン・ウェスレ イ・パプリッシャーズ・ジャパン , 1998 [ 4 ] 『詳説 C + + ー ANSI C + + 完全理解』 , 大城 正典著 , ソフトバンクパプリッシング , 2001 [ 5 ] 『 C + + 標準ライプラリチュートリアル & リ ファレンス』 , Nicolai M. Josuttis 者 , ロ 川邦夫訳 , アスキー / アジソン・ウェス レイ・パプリッシャーズ・ジャパン , 20 01 [6] 文書番号 ISO/IEC 14882-1998 , 「 lnform ation Techn010gy- Programming Langu age - C + + 」 [ 7 ] 『プログラミング言語 C + + 第 3 版』 , Bjarn e Stroustrup 著 , 長尾高弘訳 , アスキー / アジソン・ウェスレイ・パプリッシャ ーズ・ジャパン , 1998 [ 8 ] 『 C + + primer 改訂 3 版』 , StanIey B. Lipp man 他著 , 石川勝訳 , アスキー / アジソ ン・ウェスレイ・パプリッシャーズ・ ジャパン , 2002 特集 2 C/C + + /Java 実力チェックプログラミング期末試験
1 月末 ~ 2 月発売予定の新刊 ( 0 は CD-ROM 付 ) 書籍名 C 言語入門 広内哲夫 ー ANS Ⅵ SO / J 旧規格準拠ー Technical Master シリーズはじめて 0 砂田紀一郎 の C プログラミング ANSIC 対応 0 入門 C 言語新装版 田口景介 実習 C 言語新装版 田口景介 #JBu ⅱ de 「 6 で組む ! はじめての Java 北山洋幸 Java プログラミングの工ッセンス Mon ica Pawlaw 0 Java 逆引き大全 500 の極意 プロジェクト A Rick Cattell, Jim lnscore, 実践 J2EE テクノロジ Enterprise Partners JSPi' スクトップリファレンス Hans Bergsten たのしい Ruby ~ Ruby ではじめる 0 高橋征義 , 後藤裕蔵 気軽なプログラミング ~ Ruby Gem Box Ruby Unit ツール利用でここまでできる 0 Windows で学 3XML 坂田健ニ 浅海智晴 XML SmartDoc 公式リファレンス Project KySS, 0 XSLT 十 xpath 実践マスター ビスケット ( 株 ) ASP による Web アプリケーション開 大澤文孝 発 #VBScriptASP スクリプティング入門 井川はるき 0 今日からっかえる PHP4 サンプル集 山田祥寛 0 詳解 HTML&XHTML&CSS 辞典 大藤幹 Red Hat Linux 7.2 オフィシャルマニ 0 Red Hat,lnc. ュアル基本インストールセット付き 田中成典 , 小林孝史 / 編 Linux アプリケーション入門 SOIaris 上級システム管理 3rd Edition Janice Winsor #Ky ⅱ x2 プログラミング 株式会社テンアートニ 入門 csh&tcsh Paul DuBois ファイルの圧縮・解凍事典 乗越政行 P mOS4 バイブル Palm 社 Cisco Press 音声 / テータネットワ Scott Keagy ーク統合ガイド インターネットショップのための アングラーズネット CGI & 受注管理 そ DNS & BIND 第 4 版 Paul Albitz, Cricket Liu の 他 マスタリング TCP/IP 入門編 ( 第 3 版 ) 竹下隆史 , ほか マスタリング TCP/IP MPLS* Eric W. Gray Oracle9i Database 新機能ガイド 笠原敬 ( 日本オラクル ) ・一ッションクリティカルシステム MySQL&PHP でたてる Web データベ Spencer K Ogawa ースサーバ fo 「 PC UN Ⅸ インターネット総論 小林浩 , 江崎浩 ¥ 3 , 800 ¥ 2 , 000 ¥ 1 , 600 ¥ 1 , 800 ¥ 2 , 780 ¥ 3 , 600 ¥ 2 , 200 ¥ 3 , 600 ¥ 1 , 000 ¥ 2 , 400 ¥ 2 , 200 ¥ 2 , 580 ¥ 2 , 800 ¥ 2 , 600 ¥ 3 , 200 ¥ 2 , 700 ¥ 2 , 800 ¥ 2 , 300 ¥ 6 , 200 ¥ 2 , 400 ¥ 4 , 980 ¥ 2 , 600 ¥ 2 , 900 ¥ 1 , 600 ¥ 13 , 000 ¥ 7 , 800 ¥ 2 , 400 ¥ 5 , 200 ¥ 2 , 200 ¥ 3 , 800 ¥ 3 , 800 ¥ 2 , 800 ¥ 3 , 400 著 者 内容 出版社 初心者にも十分理解できるように、 C 言語の基本規則からプログラ ピアソン・エテュケー ンヨノ ミングの方法論までを体系的に解説 C 言語について、理解しやすいワンステップ完結方式で解説。すぐ 秀和システム に試せる実行環境とサンプルを収録した CD - ROM 付き “ C 言語とは何か”から C 言語プログラミングの基礎知識を詳細に解 アスキー 説。コンパイラが付属するので手軽に入門可能 数値テータの扱い / 型変換 / 配列 / メモリ管理 / 関数など , C 言語でプロ アスキー グラミングを行う際に必須の知識を詳しく解説 ポーランドの最新 Java 開発環境による Java の入門書。楽に Java を 技術評論社 勉強したい方 , 効率的なデバッグをしたい方などに最適 Java プログラミングに必要な知識がムダなく簡潔にまとめられた , ピアソン・エデュケー ンヨン Java 言語入門書 AWT, Swing, JSP やネットワーク / データベース , i モードプログ 秀和システム ラミングなど , 今使いたい Java プログラミングが満載 J2EE を活用したビジネスアプリケーションの構築事例を , 具体的 ピアソン・エテュケーンヨン に , そして詳細に紹介 オライリー・ジャパン / JSP の主要な機能や JS ページ作成に必要な要素を網羅したリファ オーム社 レンス集 Ruby の開発者まつもとゆきひろ氏の監修のもと , 初心者プログラ ソフトバンクバブリッシング マにも理解できるようやさしく解説した Ruby 入門書 各種のツールを利用することで , Ruby で何ができるのか , Ruby の オーム社 どこが魅力的なのかを徹底的に紹介 初めて XML に挑戦する人でも理解できるように , プログラムの書 技術評論社 き方 , 環境の作り方からていねいに解説した書籍 XML べースのマークアップ言語である Sma Doc について , 作者自 ピアソン・エテュケーション らが解説 W3C 仕様の XSLTI .0 と XPath を速習するための書籍。数多くのサン ソフトバンクバブリッシング プルを使って解説 Web サーバの機能だけでなく , テータベースの使い方など実践的 ソフトバンクバブリッシンク 内容もまとめて解説した実用的な入門書 VBScript の働き , プログラミングの基礎から VBScript と VBA を連動 工ーアイ出版 させた応用事例などを解説 サーバサイド・スクリプトとしてもっとも注目されている PHP に 秀和システム ューザ待望の手軽に使えるサンプル集がついに登場 ! 好評「詳解 HTML & スタイルシート辞典」の最新版が早くも登場 ! ! 秀和システム HTML4.01 /XHTMLBaslc/XHTML1.1 ℃ SS2.0 に完全対応 定番オフィシャルマニュアルの 7.2 対応版。 CD-ROM5 枚とガイド 4 インプレス 点のセットでレッドハット ( 株 ) のサポート付き LyX, gnumeric, MagicPoint, Gimp その他の本格的なビジネスユ 森北出版 ースにも耐えうるアプリケーションを重点的に解説 SoIaris 7 、 8 に対応した米 Sun の公式ガイドの全面改訂版。システ インプレス ム運用の実践ノウハウを解説した管理者必携ガイド 現場のプログラマのバイブルとなる例題を取り上げ , Kylix のプロ オーム社 グラミング手法を実際のノウハウも含めて解説 オライリー bash シェルと同様に人気の高いシェル tcsh および csh の解説書。初 オーム社 歩的な操作や環境設定を中心に紹介 圧縮の仕組みやソフトの使いこなしはもちろんのこと , 受け渡し 翔泳社 やファイル管理など , 実践的な扱い方も解説 PDA ( 携帯端末 ) の代名詞 P 引 m のアプリケーションプログラム開発 日経 BP 社 者必携の , P 引 mOS4 公式リファレンス。山田達司監訳 音声とデータネットワークを統合する際の設計 , 実装 , 保守の方 ソフトバンクバブリッシング 法を , 図や実例で詳説。シスコシステムズ監修 インターネットショップをより成功させる目的で受注業務を効率 工ーアイ出版 化する受注管理ソフトの収録と導入方法を解説 世界中で指示されているバイブル的書籍の待望の改訂版。 BlND9 オライリー オーム社 に対応し , 旧 v6 などの新機能やセキュリティにも言及 大ベストセラーの「マスタリング TCP/IP 入門編」を時代に合わせ オーム社 て大幅に改訂 「マスタリング TCP 月円の一巻として , バケット転送をコントロー オーム社 ルする MPLS 技術を詳しく解説 「 0 「 acIe9iDa ね base 」のミッションクリティカルなシステムを構築 翔泳社 するのに役立つ新しい機能にフォーカスして解説 Web テータベースサーバを MySQL & PHP で立ち上げる際のセキュ 工ーアイ出版 リティ , ネットワークの設定 , スクリプトなどを解説 インターネットの生い立ち , 仕組み . サービス、セキュリティ , 共立出版 システム , ビジネス , 法律・社会面を体系的に記述 ロ Z ー X ・ジャ / ヾン / ・ジャ / ヾン / 1 5 / CMAGA Bookends
MARCH 2002 Cover ん s ケ砒あ秋山育 /Design 持田哲 Mac OS X プログラミング入門 おいしい Cocoa のいただキ方 く第 2 回 > M0de ト View - CO 猷「 e 「真紀俊男 UML 対応オブジェクト指向 CASE ツール「 WithClass 7. OJ 」毛呂宗夫 最新開発環境レポー 最新開発環境レポー ト ト 特別記事 ニュース Linux 用 RAD 環境「 Borland KyIix 2 」中村拓男 円 ECE によるゲームプログラミング本多直人 MONTHLY HEADLINE C MAGA B00kends 学問のススメ千言万語く第ノけ七語 > プロセスの同期と SR 言語② フィンローダのあつばれご意見番く第 117 回 > 思ったとおりに書こう C マガ電脳クラブく第 132 回 > 素数で割り切る素数の和吉柄貴樹 READERS' ROOM EDITORS' ROOM CD-ROM Contents きだあきら 127 135 139 168 166 164 162 160 158 155 150 143 ・本記事中のプロクラム名 . システム名 , CPIJ 名は一般に各メーカーの登録商標です。とくに事情がない限り . 本文中では TM. ⑨マークは明記していません。 ・本誌および付録 CD - 日 OM に掲載されたすべてのプログラムは著作権法上 . 個人で使用する目的以外で無断で複製することは禁じられています。 「 8 盟「 n, のオブジェクト工房」「 Linux Programming Tips 」「 Windows programming Tips 」 inwholeorinpatt, inanyformwithoutpermission. PrintedinJapan. AIlrightsreserved. Nomatena/inthispubhcationmaybereproduced, Copy 勾◎ 2002S0 斤わ ankR し励 S わ / hg / hc. , TO 取 0 EditoriaI: P わ one ( 03 ) 5549-7 胸 3 Sales: Phone ( 03 ) 5549-7200 Advertising: P わ one ( 03 丿 5549-7220 EditorialandBusiness 〇用 Ces : 4-13-73 始 sa 始 , M わ - k 切 TOKYO, 70 / -0052 リ JAPAN Pubhsher: Tos 切 0 lnaba PubIish1ng Drector: TakefumiArai Editor-in-Chief: Jun-ichi Watanabe CMAGAZ/NE ・ BorIand C + + CompiIer 5.5.1 , ほか ・ Ruby 1.6.5/Ruby Entry Package for Win32 ・シーオーリホーツ Ver. 7 体験版 ・ WithClass Ver. 7. OJ トライアル版 ・ BorIand JBuiIder 6 PersonaI(Windows/Linux/SOIaris 版 ) 特別付録 CD-ROM 「 Java Programming Tips 」「アルゴリズム入門プログラミングの宝箱」は都合により休載させていただきます。
定期購読のご案内 MXGAZINE プログラミング技術情報誌 学習者から上級者まで、ホビーからビジネスまで、すべてのプログラマを対象にしたプログラミング技術 情報誌です。 C / C + + 言語を中心に重要性・話題性のあるプログラム言語で、アルゴリズムやテータ 構造・アプリケーション開発のノウハウ・ 0 S や環境の問題、最新の技術動向、製品紹介など、 プログラミングに不可欠な知識と情報を幅広くお届けします。学習者のための、入門講座や 読みやすい連載も用意されています。また、プログラマに有益なツール類などは、付録 CD - ROM に 収録されています。 定期購読価格 年間 ( 1 2 冊 ) 14400 円 税込 送料サービス 半年間 ( 6 冊 ) ス 200 円 定期購読のお申込はこちらから http://www.sbp-direct.com/ または裏面の申込用紙にこ記入のうえ、 FAX にてお申し込み下さい。 [ ご注意ください ] ※クレジットカードでのお支払いは、定期購読ホームペーシ sbp - d ⅳ ect からのお申し込みのみとさせていただきます。あらかじめご了承ください。 ご利用いただけるカードは、 JCB 、 AMEX 、 UC 、 VISA 、 MASTER です。 ※クレジットカード以外でのお申込の場合は、郵便局・コンビニエンスストアでのお支払いになります。初回号お届けの数日後にお振込用紙を郵送します。 ※送付先を複数登録して、自宅や勤務先毎にお届け先を指定できます。 ※定期購読の途中で解約される場合は、定価 ( 1 , 200 円 ) X 送付済み冊数で精算させていただき、返金または精算請求いたします。 ・すでに弊社定期購読をご利用のお客様へ web でお申込の場合は、会員番号、パスワードでログインしてください。 FAX でお申込の場合は、必ず会員番号をご記入ください。 ※会員番号・パスワードがご不明の場合は、サポートセンタまでお問い合わせください。 0 お申込からお支払いまで 注文明細 お申込内容確認のため、 こ注文明細をお送りし ます。こ確認下さい。 お支払い 初回号のお届けの数日後に お振込用紙を郵送します お近くの郵便局かコンビ二 工ンスストアでお支払い下 さい。手数料はかかりません。 初回お届け 各号の発売日の 9 営業日 前が申込締切となります。 ( 毎月 18 日発売 ) お申込 定期購読ホームページまたは、 裏面の申込用紙にこ記入のう えこ注文ください。 sbp-direct サポートセンタ E-mail:sbp- direct@softbank. CO. jp ・お問い合わせはこちらまで TEL. 03-5549-1202 / FAX. 03-5549-1212 営業時間 10:OO—12 : 00 13 : OO ~ 17 : 00 ( 土・日・祝日は休み ) ソフトバンクバブリッシング株式会社 b ⅱ sh 〒 1 07-0052 東京都港区赤坂 4-13-13