0 「 m0j00 from ( om mak 5 CodeView 3.0 は , そのユーザイ ンタフェイスを完全に再設計し , Quick シリーズや Programmer's WorkBench と同様のユーザインタ フェイスを実現しました。各ウィ ンドウは独立したままて , 共通の 操作環境をもち , MS ー C Advi sor, ローカル変数 , ウォッチ値 , レジスタ , メモリなどを表示させ るため , 複数のウインドウをオー プンてきるようにしました。また , 複数のソースウインドウとメモリ ウインドウを一度に画面表示てき るようになりました。また , 各ウ インドウはウインドウ単位て , 縦 横スクロールや印刷が可能てす。 ・ダイナミックリプレイ機能 ーズ CodeView 3.0 は , デバッグ途中 のプログラムに変更を加えた場合 , 変更した時点まてに入力したすべ ての情報を , プログラムの先頭か ら自動的に再生するダイナミック リプレイ機能を装備しています。 この機能により , デバッグセッシ ョンての入力とデバッグ中のアプ リケーションソフトウェアての入 力を自動的に再現することが可能 になりました。 ・ Programmer's WorkBench と の統合 CodeView 3.0 は独立したツー ルてす。しかし , Programmer's WorkBench との組み合せを考えて 設計され , 実際の操作環境上ては Programmer's Work Bench と統 合したデバッガとして機能させる ことが可能となっています。 この統合により , メニューを使 って Programmer's Work Bench から CodeView 3.0 が起動てき , す べてのオプション設定も Program mer's WorkBench 側てあらかじめ 設定しておくことが可能て、す。ま た CodeView 3.0 のデバッグセッ ションの情報も自動的に保存され ますから , Programmer's Work Bench 側に戻った後ても , ウインド ウの設定 , ウォッチ変数 , プレー クポイントなどの情報は自動的に 再設定されます。さらに前回のデ バッグ時にくらべ , ソースプログ ラムのコードを追加しているよう な場合 , プレークポイントを正し い位置に保っため自動的にプレー クポイントの行番号を更新します。 Fig. 2 MS-C 6 ℃システム構成 6.0 を使用するのに必要なハードウ 先月号の Q & A ては , MS-C A ン開発はできないのですか ? 2.11 上で動作するアプリケーショ MS-C 6.0 では , MS-DOS 0 ェア構成だけを記載していました のて , 今月号ては必要なシステム 構成と , 作成後の実行ファイルの ターゲットとなるシステム構成を 記載します。 Fig. 2 をご覧くださ ソフトハウス様へ マイクロソフトては , マイクロ ソフトの言語製品に関連した各種 ライプラリやツールなどを製品化 しているソフトハウスを会員とす る「マイクロソフト・ライプラリー ズ」を運営しています。 この会ては , 会員ソフトハウス の製品紹介一覧を製品に添付した り , 技術情報の交換などを行って います。まだご入会されていない ソフトハウス様は , ぜひご入会く ださるようお願い申し上げます。 お問い合わせは , 以下の必要事 項を明記の上 , 下記まて、 FAX て、お 願いいたします。 ・貴社名 ・御担当者名 ・電話番号 ・ FAX 番号 ・販売中 ( または開発中 ) の商品 の概要 商品名 / 対応言語製品 / 価格 / 発売時期 ( 発売予定の場 FAX 03 ー 363 ー 1281 事務局 マイクロソフト・ライプラリ 第一研究開発部 マイクロソフト株式会社 宛先 必要システム構成 八一ドウェア OS 必要メモリ 必要ティスク装置 推奨システム 使用可能な 80286 , 80386 を CPU に持つ PC ー 9800 シリーズ , または PC -98 シリーズ ( ただし , 八イレゾリューションモードを除く ) MS-DOS 3.1 以上もしくは , OS / 2 1 . IA 以上 640K ノヾイト (MS-DOS) 空きメモリ IM バイト以上 ( OS / 2 ) MS-KANJI A 日仕様の日本語入力システム マウス IM バイト以上のキャッシュティスク ( MS ー DOS ) IM バイト以上の凵 M 4.0 対応の EMS メモリ ( MS ー DOS ) OS / 2 のみ選択して , 全設定を行うと約 18M バイト必要 ) (SETUP 時に , DOS のみ選択して , 設定を行うと約 12.5M バイト必要。 ( PWB を使用する場合には約 7M 八イト必要 ) 八一ドティスクの空き容量は最低約 6M バイト以上 , 最大 20M バイト 1 M バイト容量の 1 台以上のフロッピーティスク装置と 1 台以上の八一ドティスク装置 ( ATOK6 / 7 の場合 , 付属のドライバで対応可能 ) 日本語入力システム ターゲットシステム構成 OS 必要メモリ 八一ドウェア PC -9800 シリーズ , PC ー 98 シリーズ ( ただし , グラフィックスライプラリを使用する場合は , PC -98 および八イレゾリュー ションモードを除く。 また , 引 OS ライプラリを使用する場合は , PC ー 98 江 XA を除く ) MS-DOS 2.11 以上もしくは , OS / 2 1 . 1 以上 Microsoft Windows Ver. 3 .0 以上 ( 実行ファイル作成には日本語 MS ー W 爪 DOWS ツールキットが必要 ) lnformation from Compiler Makers 157 システムと作成プログラムに依存 トウェア開発支援ツールが必要 MS-DOS と MS OS / 2 の BOUND 実行ファイルを作成するときは , 日本語 MS OS / 2 ソフ
MS-C に 6.0 概要 Ver. 5.1 から Ve 「 . 6 ℃へのバージョンアップにともない ~ 多 の機能か強化・追加された。この Part では MS-CVer. 6.0 に 盛り込まれた主要機能について , その概要を紹介する。 Programmer's Work Bench のアウトライン 柏原正三 MS-C Ver. 6.0 の開発環境は P 「 ogramme 「 ' s Work Bench を中 心として構築されている。この Section ては Programmer's Work Bench の中核をなすプログラマズエテイタをメインに そのアウトラインを見る。 動的にメイクファイルを作成し , ファイル ーロ : 1 より鮮明になったといえる。つまり , 重厚 = WB のプロジェクト指向と 依存関係を自動的に検査する。また , ター な独並開発ツール群をひとつの統合環境ド スタマイズ指向 ゲット・アイル単位に管理情報ファイルを にとりまとめた技術力においては , 両者間 もち , コンパイルオプション , リンクオプ のレベルに格段の差がある。 PWB て、はプログラマズエデイタ , ション , ライプラリ選択をクイックデフォ Programmer's Work Bench(PWB) を文 ルトに設定て、きる。さらに , ビルドオプシ 字どおりに解釈すると「プログラマのため CodeView, コンパイラ , リンカ , ョンて、は , デバッグオプションとリリース NMAKE, ソースプラウザ , マイクロソフ の開発作業環境」となるが , その目的とす オプションを個別に管理保持して切り換え ト C アドバイザといったものの統合化が実現 るところはプログラム開発にまつわる環境 使用することもて、きるのて、ある。 されている。この統合化を前提にプロジェ の整備 ( 統合化 ) と管理 ( ツールマネジメン これらの管理機能によって , プログラマ クト指向の作業環境を創出している点に ト , ファイルマネジメント ) を開発プロジェ は環境管理を PWB にゆだね , 本来のプログ PWB 最大の特長があるといっても過言て、は クトオリエンテッド ( プロジェクト指向 ) に ラミングに専念て、きる。 ない。 PWB にはプロジェクト指向をささえ 実現し , プログラマに最適な作業環境を提 さらに PWB においては , プログラマの要 るツールマネシメント , ソースファイルマ 供することにある。 求に応じた段階的なカスタマイズも可能だ。 ネジメントなどの管理機能が組み込まれて PWB て、は従来の QuickC て、実現されている PWB のカスタマイズの幅と深さはきわめて いるのて、ある。 「統合開発環境」という考え方が継承され 大きい。 QuickC 圧換レベルから , 高いスキ ているが , 本来別個の開発環境の統合化が たとえば , Make メニューて、は PWB が自 42 CMAGAZINE 19 12
tion ( Ma 「 5 コンパイラ , ライプラリとも Turbo C 2.0 と高い圧換性があり , 既存の資産をムダにすることはあ りません ( ただし , 場合によっては 再コンパイルを必要とするプログ ラムがあります ) 。 Programmers PIatform アプリケーション開発の生産性 を向 l•. させるためには , コンパイ ラの使用や能ばかりて、なくプロ グラミング環境自身を強化するこ とも IT ( 要な課題て、す。 Turbo C 十十は , 、、 Programmer's Platform" という新たな統合開発 環境を備えており , 大規模なアプ リケーション開発にも対応してい ます。 プログラムの編集 , コンパイル , リンク , デバッグのすべての作業 は , マウスをサポートしたオーバ ーラッブマルチウインドウ環境中 て、行えます。編集て、きるファイル の大きさはディスク容量のみに制 限され , ひとつのファイルを複数 のウインドウて、編集したり , 同時 にいくつものファイルをオープン することがて、きます。オープンて きるウインドウの数はメモリにの み依存します。 付属の TEMC ューティリティを 使えば , 一連のキー操作をひとっ のキーに割り当てることが可能て す。 多様なウインドウには , 編集ウ インドウのほかにエラーメッセー ジや警告メッセージを表示するた めの Message ウインドウ , ユーザ 出力を参照するための Output ウイ ンドウ , ウォッチした変数を参照 するための Watch ウインドウ , レ ジスタを表示するための Register ウインドウ , プロジェクトの設定 内容を表示するための Project ウィ ンドウなどがあります。 プロジェクト機能は , 大規模ア プリケーションの開発にも簡単に 対応て、きるよう大幅に改善されて います。ひとつのプロジェクトを オープンすれば , 必要なファイル を簡単に追加することがてきます。 もはや , ファイルごとの依存関係 をいちいち記述する必要はありま せん。依存関係は , コンパイル時 にオプジェクトファイルに記録さ れ自動的に判断されます。そのフ ァイルがインクルードしているヘ ッダファイルの一覧を表示したり 内容を表示することもひとつのキ ー操作て、可能て、す。 アセンプリファイルをプロジェ クトの一部として指定することも 可能て、す。そのプロジェクトに関 するコメントを付加したり , 関連 するドキュメントファイルなどを デスクトップファイルとして一括 して記録しておくことも可能にな りました。 トランスファ機能の使用により , Turbo Assembler や Turbo Debu gger などの外部プログラムの簡単 な呼び出しも実現しています。ま た , オープンされているファイル を慣れ親しんだ工デイタて、編集す るという作業もひとつのキー操作 に割り当てられます。 GREP や Turbo Assembler の表 示したメッセージを取り込んて、統 合環境から使用て、きます。この仕 様は公開されていますのて、 , ほか のツールに対応することも可能て、 す。 Programmer's Platform は , ハ イレゾリューションモードや PC- H98 の拡張アトリビュートにも対応 しており , より多くの環境て、利用 することがて、きます。 これだけの機能を備えながら , Programmer's Platform は Turb0 C 2.0 の統合開発環境よりも少な いメモリて、動作します。 Turbo C 2.0 て、は , 最低 470K バイトの使用可 能メモリが必要て、したが , Pro grammer's Platform て、は小さな プログラムて、あれば 400K バイトの 使用可能メモリがあればコンパイ ル可能て、す。 メモリをうまく使用するために VROOMM ( Virtual Runtime Object-Oriented Memory Man ager) というポーランド独自のオー バレイマネーシャーが用いられて おり , EMS メモリやプロテクトモ ード用のメモリが使用て、きる場合 はオーバレイによる負担を軽減し ます。また , メモリが少ない場合 は , メインメモリが頻繁にディス クにスワップされますがスワップ 先を RAM ディスクに指定してディ スクスワップによる負担を軽減す ることもて、きます。 VROÖMM Turbo C 十十は , VROOMM をサポートしています。 VROOMM は , Programmer's Platform にも利用されている高度 なオーバレイ技術てす。オーバレ イスワップ先としては , ディスク 以外にも EMS メモリやプロテクト メモリを使用することがてき , れらのメモリを l- 分確保てきる場 合はプログラムの実行速度をあま り低ドさせずにすみます。 オーバレイされる内容はモジュ ールごとに管理され , 頻繁にアク セスされるモジュールをメモリ E に残し , あまりアクセスされない モジュールはメモリから追い出し ます。このため , 効率のよいオー バレイ動作が実現されます。オー バレイマネージャを初期化する際 には , オーバレイの効率と引き替 えにバッフアサイズを変史するこ ともて、きます。 オーバレイされた関数は , ほか のすべてのオーバレイされた関数 を呼び出したり , 関数へのポイン タを使って呼び出すこともて、きま す。モジュールをオーバレイして いることを気にする必要はほとん どありません。 その世 lnformation from Compiler Makers 159 録カードを返送してください。 す。ューザ未登録の方は , 〒急登 バージョン 2.01 をお送りいたしま 録をすまされた方には , 自動的に ります。バーション 2.0 のユーザ登 応版としてバージョンが 2.01 とな もハイレゾ、リューションモード対 もない , Turbo Debugger&T001s レゾリューションモード対応にと なお , Turbo C 十十 1.0 のハイ イも充実しています。 ム開発に必要な周辺ユーティリテ オンラインヘルプなど , プログラ ラムをベーストすることのてきる や統合環境外て、もサンプルプログ 拡張された MAKE ューティリティ ファイルの自動生成をサポートし ティリティ , 自己スワップや応答 ルプログラムを備えたヘルプュー このほかにも関数ごとにサンプ
特集 ている。 Edit メニュー ()p 〉く Contents 〉 <lndex 〉く Back 〉 PWB でのプログラミング く Building and Running Programs 〉 く Managing Programming Projects 〉 く CompiIe/Link E 「「 0 「 s 〉 <Debugging Programs 〉 く Using the PWB Source Browser 〉 PWB のカスタマイズ く Writing and Using Macros 〉 く Setting PWB Switches 〉 く Using TOOLS.INI 〉 く Writing Editor Extensions 〉 PWB リファレンス く Menus 〉 く Function Quick Reference 〉 く Managing Windows 〉 く Searching and Replacing 〉 く Cutting and Pasting Text 〉 く Moving through a FiIe 〉 く Managing Files 〉 PWB の使い方 く Using PWB Functions 〉 く Starting 円Ⅳ B 〉 く Using Help 〉 (Using Menus and Dialog Boxes 〉 オリエンテーション Programmer's WorkBench の目次 Fig. 2 Programmer's WorkBench の目次 MS ー DOS へ抜け出すことなどの機能を備え ズ , ファイル名の変更 , さらには一時的に ば , ファイルの選択からファイルのクロー 般的な処理を行うメニューて、ある。たとえ このメニューは , ファイルについての一 F ⅱ e メニュー 含めて次のような機能がある。 初期画面の各メニューには File メニューを ファイルはエディット可能状態になる。 イタにファイルが登録される。登録された ればよい。ファイルが選択されると , 工デ ライプは選択可能だ。必要に応じて変更す ることになる。もちろんディレクトリやド れるのて、 , 必要に応じてファイルを選択す カレントディレクトリのファイルが表示さ その中の Open をクリックすることによって するとプルダウンメニューが表示される。 の左にある File メニューをマウスて、クリック る。指定方法には , 初期画面のいちばん上 おらず , PWB の使用者が指定する必要があ 初期画面にはまだファイルが指定されて (Fig. 1 ) 。 る。 PWB を起ち上げると初期画面が現れる 数やまちがった指定をすると必ず表示され MS-C Ver,6,llI このメニューはエディットに必要な機能 がサポートされている。コピーや削除 , カ ットアンドベーストまて、 , 必要機能を網羅 している。 Veiw メニュー このメニューはウインドウに関する操作 を担当している。ウインドウのサイズ変更 や縦横の分割を行うことがて、きる。 Search メニュー テキストファイルのサーチや必要に応じ た置換コマンドの呼び出し , さらに , コン パイル上のエラーのファイルも検索するこ とがて、きる。またソースプログラムの中て 必要に応じてつけたマーク箇所にカーソル をジャンプさせることもて、きる。 Make メニュー このメニューはコンパイルからリンクま て、の操作関係のコマンドを呼び出せる。 Run メニュー コンパイル , リンクされたプログラムを 実行するメニュー。そのほかに ,C0deVeiw を呼び出してデバッグすることもてきる。 さらに使いやすくするために , ューザが PWB 中て、任意に使うことがて、きる Customize Menu コマンドもある。 Option メニュー このメニューは統合環境て、ある PWB 自体 を管理するコマンドを呼び出す。環境設定 やコンパイルオプション , リンクオプショ ンなどの設定や変更が自由に行える。また , PWB の操作キーのカスタマイズも自由に設 定変更することがて、きる。 Browse メニュー この機能はコンパイルする複数のプログ ラムについて関数 , 変数 , シンポルなどの 相関関係を調べるコマンドを呼び出す。 Help メニュー オンラインヘルプを呼び出すときに使用 する。ただ , 調べたいランタイムライプラ リについては , その関数の最初にマウスカ ーソルを置いて最後まて、マウスポタンを押 し続ける。その操作によって , 指定された 関数はリバース , 確定される。確定後はフ ァンクションキー f ・ 1 を押すと必要なヘルプ が表示される。 各メニューにはコマンドが綺麗に表示さ れているが , その中に がついているコマ . ンドは選択後ダイアログボックスが表示さ れることを示している。 さて , オンラインヘルプを起動させるに は , Help メニューをマウスて、クリックし , 右上の最上部にある <lndex> を再度クリッ クすれば Fig. 2 の画面が表示される。 Fig. 2 の画面は実際の PWB からもってき たものて、あるが , 最上部のコマンド表示が 含まれていない。以後は , この PWB のメニ ューに従って説明しよう。もっと詳細に知 りたければ , 緑色の < > て、囲まれた部分を マウスて、クリックするとよい。確定される とその部分が反転表示され , 詳細部のヘル プが表示される。 ヘルプの最後は , て示される。 特集 MS-C ver. 6.0 研究 65
MS-C Ver. 6 ℃主要功イド 沖田浩一 今後開発稗力、大化する , つれ , 従来のようなコマンドライ ンモードだけでのプログラミングま困難な時代を迎えようとし ている。 MS - C 、。、 9.0 の統合開発 PWB はその問題を解決 するために齠共されたといえるだろう。ここでは MS - C Ver, 6.0 法を心に紹介する。 か提供する統合開発王のま糶能 イタが中心になる。このエデイタからすべ A>MOUSE OFF ての操作が行えるようになっているからだ。 PWB の起ち上げは非常に簡単て、 , 次のよう 操作や環境設定は QuickC の統合環境に似て に行う。 おり , 著しく異なるものて、はない A> PWB MS-C Ver. 6.0 最大の特長のひとつが マウスを使用するときは , PWB 起ち上げ前 もちろん PWB にはいくつかのオプション programmer's Work Bench(PWB) て、ある。 にマウスドライバを登録する必要がある。 がサポートされており , 簡単な説明を参照 新たに搭載されたこの統合開発環境ツール 設定方法は , したいのなら , 次のように入力する。 PWB により , プログラマズエデイタはもと A>MOUSE A>PWB / ? よりコンパイルの指定からリンク , そして だけて、よい。もし , PWB の使用が終了して 簡易ヘルプて、説明が足りなければ , 詳細 実行まて、も PWB の中から行うことがて、き マウスを使わなければ , マウスドライバの 説明をオンラインヘルプて、参照するとよい る。さらにオンラインヘルプ機能の強化拡 解除は , 次のようにするとよい PWB の簡易ヘルプは / ? て、なくても , 変な引 大によってプログラミング効率は一段と高 まった。たとえば , 工デイタて、プログラム Fig. 1 PWB の初期画面 を作成中に p 「 in 廿 ( ) 関数の詳細仕様を知りた いときは , このヘルプ機能を使いその場て、 検索て、きるのて、ある。その使用方法はメモ リ常駐型のポップアップウインドウを開く のに似ている。 。めに Edit リ i search- R リ「 Options B 「旧 し : 判」、 1 自 6 自 H 自 RTI 年 P Ⅱ旧 P 工 save ー 自げ 0 。 引い。ーに Shift + F9 自は + F4 ーーく LNTITLED 〉 Ct 「ト剏 ml ハ悖準ヘッダファイ丿レではない・ / ハ 1 べージの大きさ第 / Sh げ t + F2 、 0 1 WB の基本機能 PWB から使える機能には , プログラマズ 工デイタ , コンノヾイラ , リンカ , デノヾッガ , NMAKE, ユーティリティ , ソースコード プラウザ , オンラインヘルプなどがある。 しかし , なんといってもプログラマスエデ 64 CMAGAZINE 19 12 i f ( 師 ! = 2 ) bdump fi le ” ) : erl 、—exit ( ” usage N 021 圧第を nnen 3 Ne いに { リ F[Äe
MS-C Ver,6. 旧 特集 MS-C に 6.0 に見る OS, 々プログラミング開発環境 海老原浩之 MS-C Ver. 6. O ては次世代の OS といわれる OS / 2 対応の強 化拡充も , その特長のひとつである。この SectionC は DLL とランタイムライフ、ラリを中心に OS / 2 対応機能を見る。 強化された DLL とマルチスレッド ランタイムライプラリの強化点 DLL についていえば , マルチスレッド DLL プレセ、ンテーションマ不ジャ—(PM) 用の 化を実現した点が最大の改良点といえるだ ライプラリや OS / 2 のプロテクトモードて、テ 今回の日本語版 S ー CVer. 6.0 は , さま ろう。 Ver. 5.1 て、は DLL とシングルスレッ キストを扱うためのライプラリが追加され ドの組み合わせはて、きたが , マルチスレッ ざまな面て、機能が強化改良されているが , た。これらは SETUP プログラムて、 MS ー C Ver. ドの組み合わせはて、きなかった。しかし , 6.0 をインストールするときに選択て、きるよ OS/2 に対してもかなり強化改良されてい る。実際に , どのような点が強化改良され うになってる。 Ver. 6.0 からは DLL とマルチスレッドの組 み合わせが可能になった ( マルチスレッド PM 用のライプラリは Ver. 1.1 用と Ver. ているのか , また , MS—C Ver. 5.1 から Ver. 1 . 2 用とがあるが , インストール時にはどち 6.0 の改良点などを簡単て、はあるが説明して DLL)O また , DLL 作成時のコンパイルオプショ らかひとっしか選択て、きない また , マル おこう。 チスレッドを使ったプログラム作成につい 現時点て、は , 製品版の MS-CVer. ンがひじように簡略化されている。 6.0 はなく , テスト評価用のべータ版しかな さらにスレッド数が増加されていて , Ver. ても , インストール時にマルチスレッドに いため , 実際に発売された製品版との誤差 5.1 て、は , 実行時にサポートされるスレッド 対応したライプラリを作成するカ′どうかが 選択がて、きるようになっている。 OS / 2 て、の 数は最大 32 て、あったが , Ver. 6.0 て、はオペ がありうることを先にお断わりしておく。 レーティングシステム (OS/2) の限界にまて、 ライプラリのサポートはコンパイラ (CL) の オプションて、実現され , オプション指定に 達した。 よって必要なライプラリがリンクされる。 マルチスレッドを使ったプログラムのコ たとえば , / MT オプションを指定すれば LLIB ンパイルも DLL 作成と同様て、あるが , コン 今回の MS-C Ver. 6.0 て、の OS / 2 に対する CMT. LIB がリンクされる。同様にして DLL ぐイル時のオプションが簡略化されている もサポートされている。以下にライプラリ 最大の機能強化点として , OS / 2 のプログラ 直は , プログラマにとってきわめて好まし い開発環境の実現といえる。煩雑なオプシ ム作成ためのダイナミックリンキングライ 選択オプションを挙げる。 プラリ ( DLL ) やマルチスレッドなどの対応改 ョンをカスタマイズて、きることは非常に使 /MT 当然のことながら , Ver. 6.0 マルチスレッドライプラリオプション が挙げられる。 い勝丁・がよい これに対応して , コードビュ—(CV) もマ て、搭載された Programmer's Work /ML Bench(PWB) からも簡単に操作て、きること ルチスレッドや DLL て、のデバッグをしやす DLL 構築用 C ランタイムライプラリ くるために改良されたことは大いに評価て、 て、 , Ver. 5.1 に比べ DLL の生成が格段に容 /MD DLL 用ランタイムライプラリ きるだろう。 易になった。 特集 MS-C Ver. 6.0 研究 51 は、、めに OS / 2 における機能強化 ↓
MS-C ド ルのプロフェッショナルプログラマ要求ま て、 , 柔軟に対応て、きる。 このフレキシビリティに富んだ PWB のカ スタマイズは , オープンアーキテクチャの 採用によるところが大きい。オープンアー キテクチャの採用により , ユーザは独自の ヘルプデータベースの追加や , PWB 拡張の 追加が可能となっている。くわえて , マク ロや多数のスイッチ群が用意されている点 もカスタマイズの幅を広げる要因て、ある。 キーポードアサインメントについても同様 だ。また , PWB には新たなユーザメニュー を追加するというカスタマイズ手段が用意 されている点も特長として挙げられよう。 Fig. 1 MS-C Ver. 6.0 開発環境 そのほかのツール Microsoft Programmer's WorkBench アドバイサ ヘルプファイル MAKE テパッガ CV3.0 工デイタ ユーサによる 機能拡張 ソースプラウザ C6.0 MASM 機能強化された プログラマズエテイタ 三ロ PWB には専用のマルチファイル , マルチ ウインドウ型のヒストリー機能をもったプ た各種機能群のほとんどがマクロ記述能力 ほかのビルドを行い , 結果を View メニュー ログラマズエデイタが組み込まれている。 を備えているため , 使い慣れるとカスタマ コマンドて、確認し , Browse メニューて、間題 イジングの格好の手段となるばかりか , 新 このエデイタは , その前身て、あるマイクロ 箇所のリファレンスが得られる。さらにデ たに装備された Record 機能によって , 簡単 ソフトエデイタを大幅に機能強化したもの バッグ段階て、も , 同じく PWB 上 <CodeView て、 , 基本的にはアップワードコンパチプル にキー操作を記録し , これをマクロとして を起動しプログラムを実行追跡することが だ。 PWB にプログラマズエデイタがインテ セープ使用する道も開けた。 可能なのだ。 グレートされた結果 , ソースコードエディ プログラマズエデイタて、は新たにマウス このプログラマズエデイタには Record 機 ット前後の作業はきわめて便利になった。 の使用が可能となっている ( もちろん , PWB 能を兼ね備えた強力なマクロ機能が装備さ PWB I•て、コンパイル , アセンプル , その 全域て、のマウス使用が可能て、ある ) 。カーソ れている。 Ver. 5 . 1 と比べ大幅に強化され Fig. 2 QuickC ライクにセットした PWB Fig. 3 マイクロソフトエテイタライクにセットした PWB 33 「 ch ー ke Run Op い ( ) 応 Split 「に ont 引 Split 「ー ・ Ct 「い F8 Size Ⅲ国 ー幻面 ze Ⅲ 04 Ct 「い日 9 Ctrl+F4 ロ 0 ? Ⅲ 4 Coupi RnJlts V ・「 5i0 2 OjEt = ー 0 fS 「 0 「 01 = 0 第 ⅲ t ⅵ 7 2 1 部 ー L を第 D : 1 し u 使 凵 0 : : 鉢し旧 モ L ー D : 6*ELP . 0 File Edit D:ü*IN!T*CLFFENT. STS V 「 5 i on = 2 0 「 Oj を ct ゞ” ild 『き印 5 「 0 fS 「 0 を 4 S 「 0 = V 「 fSr 5 「 0 = fRplRe=ø ⅲてⅵ = 7 W24 2 ! 24 i 「 on ] IFCLUtE=D:ü*ItCLUDE L = D : 6 軋旧 モ F ! S = D : 軋詳モ . HLP ttuild) bJild: 0 「 0 : ミョ」 3 ” 3 ” [édit-2 0 0 lj: しⅵⅢ T れ」トに STS V 「 5i0 「 2 proj き 0 て = ”” bu ⅱき 4 fS 「 0 4 5 「 0 = f 印 [ 部 it-2 【ⅱ d ] bJiId: 20 「 0 工” 9 ・ bJiId: 20 「 0 ・ 0 b 「 %k ・” + 酊 Ch for Nb lt ・ ー込一石 . に ilt け対 ( トめ「 izonta いリ at ロ ) 「 特集 MS-C Ver. 6.0 研究 43
OS / 2 プログラマ ハンドブック ( 上 ) テピッド・ E ・コルテシイ著 / 定価 3 , 400 円 「 The Programmer's Essential OS / 2 HAND BOOK 」を邦訳。 旧 M 、 NEC の最新情報をできる限 り付記。 QuickC Ve 2 ℃ プログラミング 本田正隆・三浦義武共著 / 定価 2 , 900 円 主要な機能から、ライプラリ関数、 工ラーメッセージまで網羅した全 C プログラマ必携の書。 MS-DOS の こわい話 おばけ退治のための道具集 伊藤雅俊・小西晃治共著 / 定価 2 , 980 円 MS - DOS のツール集として、異色 のお話とプログラミングを満載 / ティスク付。 入門 タイナワード クイックリファレンスシリーズ IAS 著 / 定価 2 , 200 円 駅ダイナブック″上で推奨されるワ ープロソフト「ダイナワード」の本 格的活用書。 POP 革命 パソコン POP ライター活用術 株マーカス編 / 定価 2 , 400 円 豊富な事例を通して POP 名人の機 能と、 POP 作成のノウ八ウをわか り易く解説。 田原総ー朗の 新パソコン ウォ あなたの知らなかった ' 90 年代パソコンの現実 田原総ー朗著 / 定価 1 , 600 円 日本バソコン界のキーマン 13 人か 田原総ー朗と語るパソコン像。 ソフトバンク SOFT 出版事業部 BANK Readers' R ①① モニタブレゼント BUSINESS TOOL KIT fo 「 C 提供 : クレッセンドカンバニ 1 本 綴じ込みの葉書でご応募ください。 WinATOK/MSATOK 提供 : アンテナハウス WinATOK/MSAT C 言語ライプラリ集 Turbo C PC -9 0 用 PC -988 用 IS-MSC Ve 「 .1.5 1 本 Cmputer LANGUAGE 提供 : サンライズソフト 提供 : C マガジン編集部 1 冊 2 本 USINESS ( OM 灯 [ R LANGUAGE Ⅳれョ″ーわ e ル 55 ? 5 供 GT TRACX 物物 September 画面設計ツール MS-C 用 応募の注意 ◇綴じ込みの葉書に必要事項を記入してお送 ◇プレゼントに当選された方には , 後日アン りください ( アンケートの回答 , 住所 , 氏 ケートなどの形で編集にご協力いただくこ 名 , 電話番号 , 希望プレゼント番号を明記 とがあります。ご了承ください。 してください ) 。 ◇締め切りは 1 1 月 20 日 ( 必着 ) です。 ◇記入もれやプレゼント番号が複数記入され ◇あて先〒 108 東京都港区高輪 2 ー 19 ー 13 ている場合 , 綴じ込みの葉書以外でのこ応 NS 高輸ピルソフトバンク株 「 C マガジン」編集部モニタブレゼント係 募は無効とさせていただきます。 ① Programming on Purpose ⑩ 応用 C 言語 ② 提携翻訳 ⑩ C 言語フォーラム ③ ⑩ ANSI C ー more 提携翻訳 綴じ込み葉書裏面の ④ フリーソフトウェア最新レポート⑩ C 言語入門講座 記事評価アンケート ⑤ Book Review ⑩ プログラム添削 には下記こ ⑥ Digest Of CL ⑩ 最新 C コンパイラレポート 記入ください。 ⑦ 特集 MS-C 6.0 ⑩ ショートインタビュー ⑧ オプジェクト指向への招待 ⑩ GNU 奮闘記 ⑨ 新 MS-DOS 入門 ⑩ 書店レポート ⑩ 実践 C プログラマ養成講座 ⑩ lnforrnation from CompilerMakers 166 CMAGAZINE 1990 12
GN び奮闘記ー第⑨回吉野智興 もうひとつのコンバイラ , トランスレータたち ランスレータて、す。以下の PascaI 処理系の 現在 , 高級言語の主流をなすといわれてい なっています。とくに X68000 ユーザにとっ るのは , おそらく C 言語でしよう ( C を高級言 方言を適切に変換てきます。 て嬉しいのは TurboC てのソースを変換し 語と呼ぶことには抵抗があるにしても・・ て , X68000 上て、実行てきることてす。 1. HP Pascal です ) 。しかしながら , 多くのプログラムは 2. HP PascaI()X Version) この環境ファイルの柔軟性は特筆すべき c 言語以外で記述されていることが一般的に 3. Turbo PascaI Ver. 5.0 占のひとって、 , パラメータは優に 100 を越え なっています。現在 , X68000 用の入手可能 4. UCSD Pascal る設定が可能になっています。 な高級言語と呼ばれるものには , シャープ 残念なことに , p2c は正しく記述されたプ 5. Machintosh Programmer's Work の•xc", おもにパソコン通信で配布されて shop Pascal 2.0 ログラムに対して処理するように設計され いる•GCC", 「 Oh / X 」の付録として配布さ 6. VAX/VMS Pascal version 3.5 ていますから , Pascal 言語上てのエラーを 7. Oregon S0ftware Pascal/2 れた•pure Pascal" などがあります。今回 適切に指摘 , 処理することはしません 0PascaI は C をとおして別の言語を扱う「トランスレ 8. Berkeley Pascal with Sun extension 自体を勉強するには少し使いづらいと思わ ータ」を紹介しましよう。 れます。 9. ModuIa-2 Wirth's Programming in 変換サンプルが List 1-1—List 3 ー 2 てす。 イ Pasc ーを C 言語へ Modula-2 , 3ed edition List 1 ー 1 は PascaI のプログラム例としてはあ PascaI だけてなく , ModuIa-2 もサポート まり適切てはないのてすが , あとに出てく PascaI は美しい制御構造と , 厳しいタイ しています。また p2c は変換規則が環境ファ る f2c(FORTRAN to C) との関連て、作成し プチェック機能をそなえた構造化言語のひ イルによって非常に柔軟に指定てき , この ました。 C と対応させてみると変換の様子が とってす。残念ながら純粋な PascaI 文法て、 ほかの処理系にも容易に対応てきるように よく理解てきるてしよう。 readln や writeln は , 個々のマシンの機能を引き出せない場 Pasca によるサンプルプログラム 1 合があるため , 各処理系ごとにかなりの方 言があります。というより , おおくの PascaI 処理系は標準 PascaI のスーパーセットにな っています。 X68000 の Pascal 処理系として , COh ! X 』 て、配布された Pure Pascal コンパイラがあり ますが , かなり仕様の違いがあり Turbo Pascal などへのソースの移植 , コンパイル などには相当な困難がともないます。 また , GNU プロジェクトて、もボランティ アの手による PascaI コンパイラが作成され つつあることが GNU ダイジェストに紹介さ れていますが , ここて、は GNU の p2c(Pascal プログラムを C のプログラムに変換する ) を 紹介したいと思います。 GNU p2c ( 以下 p2c ) は , 非常に高性能なト 1 : ( * シンプソン公式による近似積分 * ) 2 : ( * for GNU pascal to C sample * ) 3 : 4 : program symp( input' output) : 5 : 6 : var a,b:real; 7 : s,h,x:real; 8 : n,n2:integer; 9 : i : integer : function func(x :real) :real; begin = s i n (x) *s i n (x) + s i n (x) + 1 func : end; begin (*0f main*) 16 : readln (), b, n) : 19 : 20 : n2 : n d ⅳ 2 : 22 : for i : 1 to n2 do 23 : s 十 h/3. 0*(func(x) 十 4. 0*func(x 十 h) 十 func(x 十 2. 0*h)) : 24 : S 25 : x 十 2. 0 ⅶ X 26 : 28 : beg i n end : writeln(' a= end. a n S = 148 CMAGAZINE 1990 12
円 90 年に月一日 ( 毎月一回一日発行 ) 第 2 巻第に号通巻第丐号円 90 年 2 月 2 日第 3 種郵便物認可 ~ ℃ ONTENTS Programmng on PurPOSffWhat meets the eye 』 C 十十や Pasca にもフラウサ環境を A Mini-Browser for Pascal and C 十十 線を賑やかに美しく Fancy Lines フリーソフトウェア最新レポート < 第 13 回 > Mac て NeXT ライクな環境を / 野口雄平・・ Book Review ・ Digest 0f COMPUTER LANGUAGE OBJECT DATABASES Why 訓 the fuss? 。 = MS-C に 6.0 研究 PartI ・ MS-C Ver. 6.0 概要 Section I Programmer's Work Bench のアウトライン 柏原正三 Section Ⅱ MS-C Ver. 6 ℃における最適化 田倉達夫 Section Ⅲ MS-C Ver. 6.0 に見る OS / 2 プログラミング開発環境・・海老原浩之 Section Ⅳデバッグ環境を一新した CodeView 鍋谷研ー Section V 新機能インラインアセンプラのメリット 高村誠之 PartII ・ MS-C Ver. 6 ℃主要機能ガイド沖田浩一 オプジェクト指向への招待 く第 3 回 > オプジェクト指向の起源木戸研ー 新 MS ー DOS プログラミンク入門 C プログラマのための く第 3 回 > ソダイレクト機能 ( 3 ) 中島信行・・ 実践 C プロクラマ養成講座 < 第 15 回 > 。タコ。の研究 三田典玄の の道具箱く第 6 回 > 汎用画面作成ツール ( 6 ) 豊国永健 応用 C 言語 恥すかしなからトシりました < 第 13 回 > あとで困らなしローティングスタイル ( 2 ) 岩谷宏 C 言語フォーラム ANSI C more < 第 4 回 > ポインタと配列 ( 2 ) きだあきら はじめて学ぶ C プログラミング < 第 15 回 > 関数の可変引数について高木聡 / 山崎信行 C 言語入門講座 C MAGA セミナールーム < 第 4 回 > リアルタイムなキー処理プログラム ( 3 ) 柴田望洋・・ プログラム添削 最新 C コンヾイラレポートⅡ c COMPILER PR0-68KVer. 2 ℃村田敏幸 短期集中連載 Short lnterview David lntersimone & zack UrIocker Conference Room GNU 奮闘言己 < 第 9 回 > もうひとつのコンヾイラ , トランスレータたち吉野智興 Conference Room C MAGA News Square BOOK SHOP REPORT lnfomation from Compiler Makers Readers' Room ティスク内容のお知らせ EDITORS' ROOM ・本記事中のプログラム名 , システム名 , CPU 名は一般に各メーカーの登録商標てす。本文中ては TM. ⑩マークは明記していません。 ・本誌および付録ディスクに掲載されたすべてのプログラムは等作権法 l•. 個人て使川する目的以外て無断て複製することを禁じられています。 表紙・イラストレーション・秋山育 / デザイン・持田哲 ・ 20 P. J. Plauger ・・ COMPUTER LANGUAGE 提携記事 COMPUTER LANGUAGE 提携記事 0 6 8 0 3 3 3 4 4 ・・ 73 ・ 83 94 ・ 97 105 ・・ 110 116 ・ 128 ・ 133 144 ・・ 148 153 155 156 ・ 164 167 168 C MAGAZINE PubIisher: Masayoshi Son PubIishing Director: GO 「 0 Hashimoto Editor-in-Chief: Shinichi HOShino Director Of Marketting: RYO Tanii Manager Of Sales and Advertising: YOShiO GOShima EditoriaI and Business Offices: NS Takanawa Bldg. , 2-19-13 , Takanawa. Mi nato-ku, TOkYO 108 , Japan EditoriaI: Phone ( 03 ) 5488-1318 SaIes. Phone ( 03 ) 5488-1360. Advertising: TOkyo: Phone ( 03 ) 5488-1365 Osaka: Phone ( 06 ) 264-1471 Copyright ⑥ 1990 SOFTBANK Corporation. , TOkyo. 則 rights 「 eserved. NO materialin this publication may be reproduced, in whOle 0 「 in part, in any from without 「 mi ion. Printed in Japan.