/ 田典 ンムクス 第 9 回 クロス開発の今 り多くのべンダーから出ている。これなら , 実行環境と PC/AT on VME 開発元の IBM - PC て、プログラムを動かして 開発環境の違い OK なら , 現地て、ディスクを差し込んて、リセ 読者の中には , 複数の開発環境を使い 「違う」環境といった場合 , たとえば同じ ットスイッチを押すだけという便利さて、あ なしている方も多いだろう。私の会社て、は PC ー 9801 て、も CPU や周辺機器の違いという る。そしてそういうポードメーカーは , そ UNIX, MS-DOS だけて、なく , OS/2 さらに 程度もあるし , 68000 系 CPU 上て、動く 8086 の のポード用にライセンスされた MS ー DOS を はお古の「 CP / M ー 80 」などはいうに及ばず , コードを吐くコンパイラやアセンプラ , 実行 供給している。だから起動ディスクを作っ まったく見たことも聞いたこともない「 OS も 工ミュレータなどを使うこともあるだろう。 ても , ライセンスの問題は OS レベルからク どき」に至るまて、 , ありとあらゆる開発環 最近て、は FA (Factory Automation) の分 リアされている。日本て、も PC ー 9801 のコンパ 境 , OS を使うのが普通になっている。 野ても , MS-DOS マシンや UNIX マシンが チプルを VME バスて供給するメーカーがあ プログラムの開発ては , こちらの「好み」 コントローラになっていることが多くなっ ってもよいと思うのだが , それを許す事情 を割り込ませる余地などはまずない てきた。会社のパソコンて、組んて、デバッグ が整わない ( いつだったか , 98 のバスをその ら得意な開発環境と客先の実行環境があま まま使ったポードコンピュータを作ったと したプログラムを現場に持っていき , 実際 り一致しない の機械て、最後のデバッグを行う方法がかな ころもあったなあ。あれはいったいどうな もちろん可能な場合は , 客先の実行環境 り一般化してきた。実行環境と開発環境が ったんだろう ? ) 。これだと開発環境と実行 をこちらの能率のよくなる開発環境に合わ 近づいてきたのて、ある。開発側の負担とユ 環境をひとつにするということになる。 ーザ側の負担を軽減していくよい傾向て、あ せてもらう , ということもやるが , ほとんど のような状況ならば , もう「クロス開発」な は不毛な交渉になる。 ると思う。 んて言葉はいらなくなるかもしれない しかたないのて、 , 開発環境と実行環境の アメリカては , 数年前から IBM ー PC のコ クロス開発の意味 「つなぎ」をハードウェアなりソフトウェア ンパチに , 産業用の標準ポードコンヒ。ュー なりて、用意しておき , 開発とテストは自分 タのバス規格のひとって、ある VME(Versa- たちが慣れている開発環境て、行い , 最後の 私の会社て富士通の FM ー R70 用のプログラ Bus MotoroIa Europe) を載せたものがかな デバッグを実行環境て、 , ということをよく ' 92 年 1 月号本連載記事の内容について , っていない」ということてす。もちろん , やる。 読者の方からご指摘いただきましたのて , れは UNIX のように当たり前に OS のセキ 昔のように開発言語が特殊て、ある場合は 以下に訂正をさせていただきます。 ュリティがあるものから見て , ということ かなり少なくなっており , システムソフト 1)Novell の NetWare は , 低位プロトコルに てす。もっとも ,UNIX て、も DEC/VMS ほ ウェア系て、はだいたい C 言語かアセンプラ XNS を使用している , , というところてす どに細かくは特権レベルが独立していな ( それもだいたいがインテル 86 系 ) , 事務用ア 「 XNS をベースとした旧 x / SPX を使っ いわけてすが , とりあえずューザの作った プリケーション系は COBOL, BASIC, DB ている」というのが正確てす。 プログラムのある種の致命的な暴走を止 用言語などて、 , OS の違いはともかく言語に 2 ) NovelI の NetWare<' はサーバ用にデバッ められる程度のものがついているか , いな ガがな、、という点てす力な正確には「使 関しては開発者によい環境がてきていると いか , という話をしたかっただけてす。 用に堪える , ビジュアルなユーザインタ 当然のことながら , Novell 社が新しいノ いってよいだろう ( 「どんな環境のお客が多 、。フェイスをもったデバッガがない」という ージョンの NOS をディストリビュートしこ いか」とは会社によってかなり違うのて、 , 私 にとになります。 Nove11 には lnternal D れらの間題を解決すれば , 当然この問題は の体験から語っている ) 。 ebugger というデバッガがあります。 なくなります。こごてあげた問題はいずれ 実行環境と開発環境の違う開発は , 両者 3 ) OS 自身のセキュリティの問題てすが , 文 も「開発者側から見た」「今現在の日本て ' の」 に精通していないととんて、もないところて、 章中の表現て、は不正確て、ある , とのご指 問題に限定されています。 あげ足を取られ , すべてがおかしくなって 摘を受けました。正確には「現在の Novel 以上ご指摘をいただきました日経 m ⅸの酒 しまうことだってある。環境の違うシステ I/NetWare ではメモリプロテクトがかか 井氏 , 伊藤氏に厚くお礼を申しあげます。 ム間ての開発・実行は , 難しい 96 C MAGAZINE 1992 3
、ソフトウェ リ VFA を発表してから約半年。 FD や W100 k といったすばらしいフリーソフトウェアが 発表されているなか , はたして使ってくれ る人がいるのだろうか ? そんな不安を抱 きつつの発表て、した。しかし筆者の予想に 反し , 数十通もの感想などのメールをいた だきました。作者にとって本当に嬉しい限 りて、す。 さて , 今回 C マガジン編集部からのお誘い て、 , VFA の作成記なるものを書くことにな りました。 VFA のドキュメント内にもいろ いろと書いているのて、すが , せつかくの機 会て、す。 VFA の企画から開発に至るまて、の 裏話や , VFA て、使用しているテクニックを 紹介したいと思います。 VFA の企画 ~ 誕生裏話 ~ 1990 年 8 月。何か作りたい・ ・。年に何回 か , 無性にプログラムを組みたくなるとき があります。 C マガジンを愛読されている皆 様にも , 同じような発作 ( ? ) を経験されて いる方がいらっしやるかもしれません。筆 者はプログラムを作る仕事をしていますが , あくまて、も仕事は仕事。自分の設計思想を すべて注ぎ込め得る作品は作らせてもらえ ません。その反動もあってか , とにかく何 かを開発し , 多くの人に使ってもらいたい 衝動に駆られていました。 何を作ろう ? 題材をいろいろ考えまし たが , PC ー 9801 シリーズには , すて、に数えき れないほどのユーティリティがありました。 その中て、もエコロジー 98 はすばらしいユー 『 VFA 』 ~ 誕生から仕組みまで ~ 橋本健一 ティリティて、 , 筆者も非常にお世話になっ ていました。これに優るものを開発て、きな いか ? これが VFA 開発のきっかけて、し イ VFA 開発。ンセプト 題材は決まったものの , どのような作品 どうせ作るなら , 今まて、に にしようか ? なかったものを開発したし そう考え た結果 , 以下のコンセプトに基づいて開発 することにしました。 ①機能的であること プログラムの命はなんといっても機能て、 しよう。技術的に複雑とされているディレ クトリ単位のコヒ。ーや削除 , リネームもサ ポートしました。 ②多くの情報を表示可能とする 約 10 年前に発表された PC ー 9801 シリーズ は , ハイレゾシリーズは発表されたものの , 相変わらず 640 x 400 の狭い画面のマシンが ほとんどて、す。この狭い画面て、いかに有効 に表示するか ? 転送先と転送元のファイ ルを同時に見ることはて、きないか ? この 問題を解決するために , 圧縮フォントやデ ュアルウインドウを採用しました。 ③デザインへのこだわり プログラムは , 単に機能しさえすればそ れて、いいのて、しようか ? 筆者はそうは考 えません。たとえば , X-Window や Macin tosh がすばらしいのは , 機能が優れているの はもちろんのこと , その美しいデザインや 画面レイアウトにも大きな要因があるのて、 しよう。使っていて楽しい・ 。立ち上げ るのが楽しみ・・・ そんなツールを目指し く VF Åの開発 VFA の開発て、まず初めに行ったのは , 画 面レイアウトの設計て、す。この作業には N88 BASIC を使用しました。電卓片手に座標を 計算しては line 文て簡単なレイアウトを描か せました。簡単な処理をカット & トライ的 に行うには , BASIC はまだまだ使えます。 次に機能を洗いだし , それを実現させる ためにはどのような技術的間題が生じるか を検討しました。いちばん複雑だと思われ る部分を試作し , 動作確認していきました。 これらが終了して , 初めて本格的なコーデ イングに入りました。今回 , コーディング 時にいくつか工夫した点があります。 ドキュメントのソース内埋め込み 通常はソースプログラムとドキュメント は別に管理するものて、すが , 今回ソースプ ログラムのコメント内にドキュメントを埋 め込むという方法をとってみました。 コメントには普通 , 入力と出力 , 動作内 容程度しか記述しません。このコメントを さらに拡張し , 以下のような項目を設けました。 ・ Entry ( 入力 ) 入力する変数 ( レジスタ & メモリ ) の意味 を記述します。 ・ Exit( 出力 ) 出力する変数 ( レジスタ & メモリ ) の意味 を記述します。 ・ Reference ( 参照 ) 参照するグローバル変数 ( メモリ ) を記述 します。 ・ lnfluence ( 影響 ) 影響を与える ( 書き換える ) グローバル変 Conference Room 129
國囚圖 C MAGAZINE Access Card をこ・利用ください。 C MAG 爪 E アンケートカードをこ・利用ください。 1 体場 0 c 0 連続イ物理 m mentum 子本、 迴 析 0 分子設計 momentum ene 「 gy 0 連成解析 電磁場 冫ノ山 = の時イ弋だからこそ当社でま、要素技 。連続体物理学の素養のある方で、 ~ にこだわる。優れた要素技術の集積なく これか - ら修得してみたい - と考えてい る方 3 また応用業務で活躍してみた て、 SI は存在しないし要素技術にこだわ 、と考えている方いいずれも歓迎致 当社で数学、物理学、化等々様 な専攻を生かすことができを 科学技術系ソフト開発における社内 W ま大、当社手作りのオリツナルテ キストを差し上げますよ ( Å ) 「有限要 の高度利用と現代的なプログラミ、 パラダイムの的利用ーなる開境 素法入門 : ( B ) 「連続体物理学と数 整備を実現。オプジェクト指向シフ , ト開 値解析」がありますので、葉書に希望の テキストを明記してお送りください 発にも全社的に取り組んでいるに 昨年自月に相模原研究開発セジター 新入社員研修は、一定期間の講 開設。」 R 横浜線淵野辺駅徒歩 3 分のプ び実習とパトナー制による OJT の 施を通じてプログラ 4 作成業務 ミティふちのベビルは、神奈川健康 団が運営する温水プール↓多目的スポ タイルと設計からドキメンテ←ショ、 での SE 基礎教育に重点を置いて、 ”室が併設されている。勤務地として 3 。コンビ三一タの基礎教育と並行し 社 ( 池袋 ) とセンター ( 淵黷のいずれも、 、平成 6 年には、北海道空知工業団地ー 業務教育が行われる。新入社員、 クノゾンにおける研究開発センターの の研修は、各種学会への参加、社外 設を予定ぽいる。北海道リタシ希望 修、海外研修等、各自のプログラム 積極採用を推進中。。 = 。 ~ ・ こより実施している 9 同機械技術研究所、新エネルギー総合技術開 ■採用関係連絡先 たします。固定給制く平成 3 年度初任給実績〉 〒 171 東京都豊島区池袋 2 ー 43-1 池袋青柳 発機構、動力炉核燃料開発事業団、日本原子 大卒 19 万 1820 円大学院修士卒 21 万 7 円 ビル担当 / 総務部 力研究所、新世代コンピュータ技術開発機構、 ※共に基本給待遇 / 昇給年 1 回、賞与年 2 ■会社概要 日本電気、東芝、松下、ほか加盟団体 / 情 回、交通費全額支給、各種社会保険完備、社 ( 03 ) 3590 ー 5211 設立 / 昭和 49 年 6 月資本金 / 61 万円売 員持株制度・財形貯蓄制度・退職金制度ほか 報サービス産業協会、パーソナルコンピュー 」 R 池袋駅 西口侊北ロより徒歩 3 分 上高 / 8 億 6 側 0 万円 ( 平成 2 年度 ) 社員数 / 85 タ協会 勤務地 / 本社 ( 池袋 ) 、相模原研究開発センタ 名事業内容 / ①数理科学的手法による自然 ・募集要項 三菱銀行 ー ( 淵野辺 ) 動務時間 / フレックスタイム制 科学・工学・社会科学分野の調査・研究・問 職種 / ソフトウェア開発技術者 ( コンピュー 月 150 時間休日休暇 / 完全週休 2 日制 ( 土、 題解決②コンビュータ応用システム並びに タ応用技術はもちろん、数学・物理学・工学・ 日 ) 、祝日、夏季、年末年始・有給休暇応募 プログラムの設計・開発、コンサルテーショ 地質学などに関する専門知識・経験を活かせ / 履歴書 ( 写真貼付 ) と業務経歴書 ( 書式自由 ) ン③コンピュータ向け各種汎用プロダクト るソフトウェア開発 ) 資格 / 理工系大学及 を郵送してください。到着順に面接日をご連 西口北己 の開発・販売④上記に付帯する一切の業務 び大学院卒以上 35 歳位まての男女給与 / 経 絡致します。 池袋駅 JR 山手線 主要取引先 / 通産省エ業技術院地質調査所、 験・年齢・能力・前給を十分考慮し、優遇い ※入社日は相談に応じます。 情報数理研究所 lnformation and MathematicaI Science し a tO Ⅳ nc. D 刄 T 池袋青柳ビル ホテル サンシティ ←新宿 →上野 ロ C MAGAZINE 1 2 ・ 3
三田典玄のランダムアクセス ところがうちの会 ムを作ることになった。 社にはその機器がない。そこて、 , まず PC-9 801 上て、必要なアプリケーションを作り , F M ー R に移植した。 MS ー DOS のシステムコー ルのみを使うプログラムて、あれば , 作った 実行ファイルはそのまま FM-R て、も動くのだ が , このときは通信や画面回りの細かい処 理があったのて、そのままて、は動かない。 98 用の画面回り , RS ー 232C 回りのプログラム を FM-R 用に作り直し , 別のソースコード , ライプラリにした。これて、リンクすれば一 件落着 , というわけだ。 こういうやり方は最近て、はどこて、もやっ ていることだが , なかなか効果がある。ま ず , プログラマが新しいことを覚える必要 が減る。だから , 完成まて、のトータルコス トが低くなる。そして , 勝手知ったるマシ ンて、プログラムを完璧にした後 , 別マシン に持っていくのて、 , バグの出る比率や出る 場所がほば限られてくる。だからデバッグ もしやすい。そうやって納めたプログラム は一応大きな問題なく動いている ( ようだ ) 。 以上の例が「クロス」といえるかどうかは 疑問だ , という向きもあるだろう。しかし , 本当の「クロス開発」よりも , こういった例 のほうが今は多いのて、はないだろうか ? そ してこういった開発の方法こそ , これから の「仕事」に必要なのて、はないだろうか ? さらに , 私たちは NetWare 上のサーバ用 プログラムてある NLM (NetWare Loadab IeModuIe ) の開発などにも , この方法を使 っている。 DOS 上の NetWare は , 実はリン グ 0 て、動いているユーザプログラムそのもの て、あって , カーネルメモリのプロテクトは いっさいされていない。だからポインタ関 連のバグなどて、は , NLM プログラムが NO S そのものを壊してしまうこともある。サー バ上て、これが起きると , サーバそのものが 停止してしまい , 当然つながっているクラ イアントも , その LAN コネクション関連に ついては動かなくなってしまう。つまり , NLM をデバッグする過程て、は , 頻繁にリセ ットスイッチを押すはめになるのて、ある。 普段から UNIX などを使い慣れていると , 「と てもこんなことには堪えられない」というぜ いたくをいうのが私の会社の技術屋て、ある。 しかたがないのて、 , OS / 2 上の CM て、プログ ラムを作る。そしてデバッグがほば終わる と , ソースコードを実際のサーバマシンに 持ってきてコンパイルし , NLM を作るとい うことをした。これも広い意味て、は「クロス 開発」なのかもしれない C 言語プログラムの移植 C 言語プログラムて、は , とくにややこしい 間題が潜んて、いる。 UNIX 上のプログラムツ ールを MS ー DOS に載せ替えることが流行っ ているが , これをやった方々は , その最初 の移植て、はさぞ苦労されたことだろう。 よく行われるのは UNIX 上のツールをその まま MS-DOS マシン上の MS-C か Turbo C ( 十十 ) 用に書き換える , というものだろう。 最初の障害になるのはデフォルトの「 int 」型 の違いだ。 MS ー DOS 上て、の多くの C コンパイ ラては int は「 16 ビットの符号つき整数 ( = sh 。 rt ) 」て、あり , UNIX て、は「 32 ビットの符号っ き整数 ( = 1 。 ng ) 」て、ある。この違いを最初か ら意識したコーディングがなされているソ ースコードて、あればよいのだが , 多くの UN IX のソースコードはそうて、はない。ポイン タ変数型も , int もどちらも long と同じビッ ト数て、て、きているのて、 , 「どっちだったかな 。まあ , いいや。引数は int ちゅうことに しとこ」となるところなのてある。 286CPU の時代に PC/AT 用の XENIX/286 という U NIX があった。が , あの C コンパイラも int が 16 ビットだったのて、 , こちらはほかのす べての環境が UN Ⅸそのままて、あるぶん , 同 じ UNIX 上て、のプログラムの移植にもずいぶ ん手間取ったのを覚えている。その頃の 28 6AT 用の UNIX といえば , ほかに Microport などがあったが , あれはレジスタが 16 ビッ トの 286CPU 用の UNIX なのに , なんと int の デフォルトだけは 32 ビットだった。これだ けのために Microport にした , という話も聞 いたことがある。 移植性の高いプログラムにするには int に 依存するようなコードを書いてはいけない ビットフィールドなんてのはもってのほか て、ある。もうひとつの問題は , バイトオー ダだ。 long の 32 ビットは , メモリ上やテー プ上にバイトストリームとして展開された とき , 低位ビットから並んて、いるのか , 上 位ビットから並んて、いるのか , というよう な問題て、ある。よくこれて、「 tar て、テープが読 めない」などの問題が起きたりするわけて、あ る。これは注意すればなんとて、もなるが , 意識していないととんて、もないところて、し っぺ返しをくう問題て、もある。 いま , クロス開発とは いろいろ例をあげたが , PC そのものて、も UNIX が走ればパソコンじゃないとか , IB M の VM 上て、動く UNIX があるとか , 違う環 境がいくらて、もて、きる時代になった。また , それらが錯綜する時代になった。だから「ク ロス開発」という意味が昔とだいぶ変わって きた。 CPU の種類がまったく違う DSP て、 も , DSP ボードという「実機」が PC 上に載っ ているものを使って然るべきソフトウェア ツールを使えば , それはもう「クロス」環境 て、はない といってもいいかもしれない 制御用の Z ー 80 アセンプラや C コンパイラく らいなら , PC ー 9801 上て、の開発はいくらて、も て、きるし , ICE やデバッガも揃う。 金をどこにかけてどのようなプログラム を組み , どのような環境て、動かすのか。開 発するほうも使うほうもそれらを「選択」て、 きる時代になった。あなたは , どの環境て、 そのプログラムを組むのか ? 開発する側 もそういう自分の「得意」が財産になる , と という気がする。 いう時代がやっときた , 三田典玄のランダムアクセス 97
ELN LS に声度な分散処連ジステムを物第ユ uN Ⅸと一体化した リアルタイムのための発 / 実行。 , 機能ー新の W 爪力ネル ラウンドロビンスケジューリング気 " = , - ☆割込み遅延とコンテクスト・スインチ時間を短縮み 2 つのセマフォの追加 メッセジ , キュー 、、 V 目れ p の機能追加 ±S 凵 P ±FTP サノヾ ☆オリジナルーステノ、 ☆ SC サボト ±MS-DOS 4 上フイル ( ステム分ポート Window クラチアンイオプション ) ☆ローカルティスク、らのプート リアルタイム OS ( ROM べース ) ケートウェイ V Wo 「 ks ( ツ、ウ - クベース Vx 、研 ks ( ティスクベース ) UNIX W/S ちダウンロード / VxWorks VxWo 「 ks は高性能なリアルタイム OS であるばかりでなく、 LJN Ⅸを利用したリアルタイムアプリケーション開発のための 強力な支援ツールでもあります。 VXWO 「 ks には高速で柔軟性に富んだ日 LJN - 羽 ME システ ム、強力なテスト・テパッグ機能、 IJN Ⅸクロス開発バッケー ジ等が含まれています。また、 LJN Ⅸとコンバチプルなネット ワーク環境により IJN Ⅸと VxWo 「 ks を組み合わせた優れた開 発環境が実現できます。 アプリケーションの開発終了後には、高度なネットワーク機 能を利用し、 VxWo 「 ks と IJN Ⅸが個別に稼動する分散処理シ ステムを容易に構築できます。また、ターケットシステムをネ ットワークから切り離したスタンドアロンのリアルタイム・マ シンとして動作させることも可能です。 ー対応 CPLJ ポート 屋 VM を -0Pu22 をⅧ E - CPU221 ま 1 スロットにて日 S -232C レ F 、イーサネットレ F を装備した高機能な高速 CPLJ ボードです。また、一を動作さ せることも可能です。 リモートログイン ーテパック る Ver. 0 ELN LS 日新機株式会社 〒 100 東京都千代田区内幸町 1 丁目 2 番 2 号日比谷ダイビル 13 階 TEL ( 03 ) 3506-7423 ( ダイヤルイン ) FAX ( 03 ) 3506-7464 〒 615 京都市右京区梅津高畝町 47 番地 TEL ( 075 ) 864-8408 ( ダイヤルイン ) FAX ( 075 ) 864-8418 ※ IJNIX は AT & T が開発し、ライセンスしている OS てす ※ Ethe 「 net は米国 XEROX 社の登録商標です ※ MS - DOS は米国マイクロソフト社の登録商標てす ※ x Window syst 師は米国 M の登録商標です ※ VxWo 「 ks 及び w 0 は米国ウインドリバーシステムズ社の登録商標です く資料請求番号 004 >
世界のプロを、うならせた。 0 FACTICS 高い移植性、他に類を見ない超高速 性、豊富な GIJI 機能などどこをとっても 『プロ仕様』にふさわしい GEN ド A が いよいよ進化をはじめました。 GENIFÄのライプラリ群誕生まであと一歩・・ ・ EN SKE ー ( H くジェンスケッチ > ( 画面レイアウト・フォーマッタ ) ・ドー A K くジェントーク〉 ( RS232C / RS422 / GP ー旧通信ライプラリ ) ・ EN 石 0 なくジェンエティット〉 ( グラフィックエデイタライプラリ ) ・ 0 をー 0 リ ( H くジェンタッチ〉 ( タッチスクリーンライプラリ ) ・ド 0 V ーくジェンドライプ〉 ( マウス / CRT / プリンタ / プロッタ / スキャナ / デジタイザライプラリ ) より高次元のソフトウェア開発環境へ 超高速 C 言語 GIJI 開発ツール & ライプラリ 好評発売中 / ロ OS / V 版も加わって、 互換性はさらにアップ / ウインドウ処理、ファイルセレクタ、 ダイアログボックスなど、各版とも豊富なサンプルソースを 追加して、ますます充実の開発環境を実現しました。 仮想座標による拡大縮小 近日テピュー予定 . 〃 ダイアログボックスエデイタ 多彩なフォント Graphic E v ⅱ・ 0 取 0 物まを 0 ーい : 工、一も第 13 、 : 、はル一気駅試第 ぼ藩 A ・ rap ( E 療ⅵ第印 t 「 00m ( ーい U に onm 当杙杙日 0 し日 文字の拡大縮小 カーソル ェデイタ フォントエデイタ を字を示 ・ネキ示 クリッヒング ス操作などの GUI 機能をサポートします。 な環境下においても超高速の描画処理を可能 ・すべての描画関数に対してラスタオペレー 異なる機種 ( PC9800 シリーズおよび互換機、 AX 、 にしています。 ション ( REPLACE , XOR など ) 操作ができます。 PC-AT く EGA,VGA 〉および互換機、 DOS/V) の間 ・物理座標、仮想座標をサポートしていますの GEN ド A は、プルダウンメニューエデイタ ( C ソ で高い互換性を実現。従来のような完成済み で、画面サイズの変更も簡単かっ瞬時に行 ースコードに自動変換 ) 、ダイアログボックス工 製品からの強引な移植と異なり、同時開発を デイタ ( 同 ) 、マウスカーソルエデイタ ( 同 ) 、フォン なえます。 行なっていますので、各ハードウェアの違いを ・クリッビングや図形の拡大、縮少、合成など トエデイタ、さらにグレードアップされたアイコン GEN ド A が吸収し、各機種対応のライプラリ の図形操作も簡単にできます 工デイタなど、豊富な開発支援ユーティリティを 関数インターフェースは完全にコンバチプル。 ・線の太さの指定や 16 色カラー表示、日本語 標準装備。スクリーン上で対話式にエディット ライプラリを替えてリンクしなおすだけで移植は FEP(ATOK,VJB ・もサポートしています。 するだけで自動的にソースコードを生成します。 完了します。 ・文字フォントの選定およびデザイニングも自 由自在に行なえます GEN ド A にはクラフィックソフト開発に必要な グラフィックの描画ルーチンは、アセンプラによ 約 100 種類のクラフィック機能を搭載しています。 るハードウェアの直接制御に加え、 Bresenham ・プルダウンメニュー、ダイアログボックス、マウ アルゴリズムを採用することによって、どのよう ■仕様一覧 / ・対象機種 NEC 版 , PC9 0 ( 初代、 LT 、ハイレゾモードは除く ) およひ互換機 x 版 , AX ノヾソコゾ旧 M 版 , 旧 M ー pc ー AT ( EGA , VGA ) および互換機 20S / v 版 DOS / V パソコン・対応 OS MS-DOS ( ver. 3.1 以降 ) pc ー DOS ( Ve 「 .3.2 以降 ) DOS / v ( ver. 」 4.0 / V ) ・対応言語 Microsoft C ( ve 「 .5.1 以上 ) ・マニュアル約 250 ページ ( 日本語、 英語 ) ・関数約 100 個・メディア 5"2HD 、 352DD ・価格 NEC 版、 AX 版、旧 M 版、 s / v 版降 \ 131 , 00g ※本価格はシングレユース面格です。製品組込みの場合は弊社まで こ・連絡ください。・お求め方法ご購入はお近くのパソコンショップにお申し込みください。弊社に直接ご注文の際は、 FAX にてお申し込みの上、銀行振り込みにてお支払 いください。・振り込み銀行住友銀行広島支店普通預金口座名株アイ・エル・シーファクティクス事業部口座番号 140 01 ・クイック FAX サービス , ファクティクスイ ンフォメーション PHONE : 082-26 ト 9933 代 FAX : 082 ー 262 ー 3999 代資料請求、ご質問は弊社まで FAX でお問い合わせください。・サンプル無料体験パソコン NET 経 由で GENIFA のサンプルをご体験ください。 PC ー VAN ( 旧 = QGM48304 ) 日経 M Ⅸ ( 旧 = M Ⅸ 127972 ) N ド TY ー Se Ⅳ e()D = GAE02231 ) アップロード先につきまして は左記旧もしくは FAX にてご連絡ください。 株式会社アイ・エレ・シー〒 732 広島市南区的場町ト 3 広島的場ビル 9 階 く資料請求番号 003 〉 = 高い互換性 豊富な開発支援ユーティリティ 多機能性 NTERNATIONAL LABORATORY CORPORATION ※記載されている他社製品名は各社の商標または登録商標です。 ド NIF 一
B 0 ー A 0 新生ボーランド年、 ・、オ / ・キャンペーン BORLA The レⅲ O わ 1 ト 0 Programming BORLAND 0 ◆ 20 ドド CAMPAIGN いま、店頭で BORLAND C + + 2.0 を買うと ポーランド純正画面制御ププラリ アプリケーションフレームワークをプレゼン b././ ただ今、店頭にて BORLAND C + + 2.0 をお買い求めになり、付属の「アプリケーションフレームワーク無料送付シール」を 登録書に貼って返送していただきますと、アメリカでは $ 199.95 ( \ 28 , 00 のにて提供されております、ポーランド純正画面制御 ライプラリ・アプリケーションフレームワーク ( ソースコード付属※注 ) の 98 版を無料にて送付させていただきます。高速なコンパ イルスピードと大規模なアプリケーション開発に適したプロテクトモードのコンパイラを備え、 DO Windows のアプリケーシ ョンを C と C + + で開発できる、プロの開発者のための Bo 日 and C + + 。この強力な開発環境に、オプジェクト指向テク / ロ ジーを用い、簡単に画面制御を行えるクラスライプラリ・アプリケーションフレームワークを組み合わせれば、開発環境は 飛躍的に向上し、プログラマの作業をより楽にすることができます。 APPLICATION FRAMEWORKS マルチウインドウやプルダウンメニュー、ダイアログ 'Object Windows : Windows 用の画面制御 ボ、ツクス、ボ、タン等を駆使したイベントドリプン・アプ ライプラリ ( ゾースコード付属※注 ) Object Windows は、グラ刀カル・ユーザインター リケーションを、プログラマが望むように実現すること がて、きるのて、す。 Turbo Vision を使用すれば、簡 フェースを実現するために、複雑な API と格闘しなけ 単に現代的てエキサイティングな DOS アプリケーシ ればならないという面倒な作業を取り除き、 Windows 3.0 のアプリケーション開発を合理化します。ボ、一ラ ョンを構築て、きます。 ・価格 . BORLAND C + + 2.0 アプリケーションフ ンド独自の、 Windows メッセージを処理するタイナ レームワーク・キャンペーンパック・・ \ 0 ( 嬲の ミックテンスパッチの機能により、 Windows プログラ ☆価格据え置き / お買い得ですを ミングのモデルを簡素化しているのて、す。 Object みん 0 レ / s / on を用いたサンフル画面 ※注・・ソースコードに関しましては、サポートは一切行われません。 Windows により、 MDI ( マルチドキュメントインター 了承ください。 フェース ) やカスタムコントロールへのアクセスなどの プログラマは、自身の創造性やプログラミング能力 ☆さらに、もれなく「プログラミング W DOWS 」 Wind 。 ws の特徴的な機能を使用したプログラム をアプリケーションの機能や性能の向上のためだ ( アスキー出版局 ) をプレゼント . を を簡単に作成て、きます。新しく Windows のプログラ けに集中することがて、きるようになります。もう、細かな ミングを始められる方て、も、古い方法の経験がある ューザインターフェース等のプログラミングに多くの 方て、も、 Object Windows がフログラミングデザイ 時間をさく必要はありません。 Windows3.0 用の ンに提供する新次元の自由度の高さや柔軟性を Object Windows 、 DOS 用の Turbo Visiono 必 堪能していただけるて、しよう。 要なプラットフォームに合わせて 2 種類のフレーム ・ Tu 市 0 Vision . DOS 用の画面制御ライプラリ ワークから選んて、いただけます。どちらもマウス対応 ( ソースコード付属※注 ) のオーパ、一ラッブマルチウインドウやメニュー、スク ロールバー、ダイアロ久工テンタなど、洗練された Turbo Vision は、 Windows における Object Windows と同じように、構造的に優れたユーザイン 機能を提供します。アプリケーションフレームワーク ターフェースを、キャラクターベースの DOS アプリケー を使えば、直感的な操作を可能にし、また構造的に ションに提供します。ほんの少しのコードて、、機能的 優れたユーザフレンドリイなインターフェースを実現 なマウス対応の、位置・サイズ可変なオー て、きるのて、す。 ノーラッフ リル第いル 当山川 k い 0 4 い 0 0 物「れ 0 れ 0 : 0 00 0 ー再つ、四 な 10 、ー 4 パイ 一 1 " 1 朝朝朝 .1 朝 20 BORLAND C + + BORLAND ( ホーランド株式会社 〒 151 東京都渋谷区笹塚 1-64-8 笹塚サウスビル TEL ℃ 3-5350-9370 代 ※移転いたしました ※ AII Borland products are trademarks 0 「 registered trademarkS Of Borland lnternational. lnc. C Borland lnternational. lnc ※その他、商品名は一般に各社の商標です ・製品に関するお問い合せは、ポーランド株式会社 TEL. 03-5350-9370 までお願いします く資料請求番号 F04 〉 雑誌 14325 ー 3 T 1 01 4 5 2 5 0 5 0 9 8 6 ◎ソフトパンク凸版印刷 Printed in Japan ⅡⅢ引Ⅲ II
新新は第第円こ畆墨 人 、応、ん↓す。 CAPS MS•ISAM マルチセンター プログラム開発支援ツール 「 CAPS 」は、入力画面やファイルの設計作業を、画面上でのインタラクテイプな操作で行うことを実現。コー ティングすることなく MS ℃、 N88- BASIC のソースファイルが生成できることをはじめ、定義情報の簡単な変更 時にはパラメータファイル上で修正が行えます。煩雑な作業を大幅に省力化する、これまで待ち望まれていた プログラム開発支援ツールです。 ・対応機種 / NEC PC ー 9801 シリース・〇 S / MS ー D 〇 S Ver2.11 以上・メインメモリ / 640KB 以上 必要・ディスプレイ / 高解像度 ( 600X400 、ドット ) ・プリンタ / PC ー PR201 系・ FEP / AT 〇 K ・標準 価格 YI 28 , 000 索引順編成ファイル パソコンでは COBOL 以外に使用することができなかった ISAM を、 MS - DOS 上で使用可能にするのが 「 MS-ISAM 」です。 BASIC を標準言語としてサポートしていることをはじめ、 N88 ・日本語 BASIC(86) や IBM の漢字 BASIC 、 C 言語、 FORTRAN 等を強力にサポート。しかもキー部、テキスト部が完全に独立していま すので、データの共有化が可能になります。これからのプログラム開発に欠かせない、強力な開発支援ツール です。 ・対応機種 / 8086 系 CPU 、 MS-DOS(Ver 2.11 以上 ) 使用の機種・標準価格 Y50 , 000 パソコン通信ホスト局開局用ソフトウェア 「マルチセンター」は、多回線バソコン通信ホスト局をより使い易く、より簡単に開設するためのソフトウェア。階 層の深さやアーティクル数が無制限に設定できることなど、ホスト局開局のビギナーをはじめ、エキスパートの ーズにも的確に対応。さらに、く R : BASE 〉を使用した本格的なデータベース機能を搭載しており、データ べースによる多彩なサービスを可能にしました。しかも OS / 2 対応ですので高速レスポンスなシステムが構築で きます。 ・対応機種 / NEC PC ー 9801 シリーズ ( 80286 以上の CPU を搭載している機種 ) ・ハードティスク / 約 40MB 必要・ OS/MS-OS/2(Ver 1.1 以上 ) ・モテム / ヘインス AT コマンド準拠モデル・標準価格 Y600 , 000 ( 別途インストール費 Y200 , 000 ) 〒 910 福井市大島町前浜 409 会社′スアム・ 7 ホ福井電話 0776 ー 35 ー 5502 ( 代表 式 = FAX 0776 ー 35 ー 6286 ※表示価格には消費税は含まれておりません。 会社名および商品名は各社の商標または登録商標です。 く資料請求番り・ 1 6 /
1 こをマイクロア - 一 ( 株 ) ー発注先名 はコ発注 こに 3 「を F 「貧 0 「 /. 第 0 をⅲ 5 をみ「を を保有能 ート試作用 ーし製発 市第目的 ト画面作成 し明 ! ト機能ボタン トホタン バラメータ は Readers' プロトタイピストは試作品を作ります。 ト制前 プロトタイピストは画面人出力の設計 / 制作を行う ツールです。実際に動作するマルチウインドウ画面 が対話型で即座に作成できます。手にしたその日か らあなたの有能な助手 (PROTOTYPIST) にな ります。 プログラム作成者なら ・大至急で操作手順を書類にしたい。 ( 資料作成 ) ・プログラムの完成型を実際に操作しながら設計 したい。 ( 仕様検討 ) ・プログラム完成時の動作を顧客に見せたい。 プログラム発注者なら ・自分が欲しいものを開発者に具体的に見せたい。 ・完成品と同じように動作させながらアイディアを ねりたい。 モニタ募集 印刷大王 提供 : システムボート ( 株 ) TEL 0184 ( 24 ) 5592 物第第発支覆ツール 印利大工 綴じ込み葉書でご応募ください 1 名 ビジネス C ルーチン BCR - MI Ver. 4 2 名 提供 : 佐藤システム設計事務所 TEL ( 394 川 プロトタイビストは完成品を作ります。 プロトタイピストは単なる試作品開発用に留まるもの ではありません。作成した試作品にプログラム ( C 言 語 ) を組み込むことによりそのまま完成品へ移行でき ます。 従来のプログラムジェネレータ方式とは異なり完成 後の仕様変更に柔軟に対応できます。 対応機種 PC -9801 , IBM-PC, J -31 \ 49 , 000 プロトタイビスト , ー佐・ツステム設第 帳票開発ツール PC -9801 シリーズ用 (MS-C, Turb0 C, Borland C 十十対応 ) CPAD Ver. 2 提供 : 有オオッカ商事 TEL 囲 78-5 ト刪 7 / の自動管理などプログラム開発を C ソース 支援するツール。 PC -9801 シリーズ対応 ・応募の注意 させていただきます。 ◇愛読者葉書に必要事項 ( アンケートの回答 , ◇モニタに当選された方には , 後日アンケー 住所 , 氏名 , 電話番号 , 希望モニタ番号 ) を明 トなどの形式で編集にご協力いただきます。 記のうえご応募ください。 ご了承ください。 ◇記入もれやモニタ番号が複数記入されてい ◇締め切りは 3 月 1 8 日必着です。 る場合 , 愛読者葉書以外でのご応募は無効と ⑩ C 言語フォーラム ① Programming on Purpose . 司 ⑩応用 C 言語 C の道具箱 ②提携翻訳「ポータブルな・・・ ⑩ C 言語雑学 ③フリーソフトウェア最新レポート ⑩ X68k 活用講座 ④特集「ドキュメント作成・・・・・・」 愛読者葉書裏面の ⑩最新開発環境レポート「 RTx86 」 ⑤プログラミングの工ッセンス 記事評価アンケヂ ⑩最新開発環境レポート「 GENIFA 」 ⑥実戦アルゴリズム戦略 トには右記の数学 ⑩投稿プログラム「 VFA 」 ⑦ djgcc 詳解講座 He110 GCC W0 面 ⑩投稿プログラム「 TAKA3DES 」 をご記入ださい。 ⑧新 MS - DOS プログラミング入門 ⑩ C マガ電脳クラブ ⑨明解 ANSI C 言語入門講座 @ 丹羽信夫の迷走プログラミング ⑩スタートアップ C 十十 ⑩三田典玄のランダムアクセス ポップアップメニュー関数などを備えた C 言語ライプラリ集 (MS-C 対応 ) 2 名 2 名 COMPUTER LANGUAGE 提供 : C マガジン C トキュメント作成プロクラム P 囲打ド : 3 し 1 爾川 預第 G マイクロドック出力サンプル プログラムの変化に対応できる文書化システム C 言語のソースより詳細仕様書を自動作成しま す。表紙、目次、モジュール構成図、モジュールー 覧、関数仕様書等を一冊の仕様書として罫線でレ イアウトして出力します。また、用紙のサイズ合わ せ、出力項目の選択等ができます。ソース上に決め られた型でコメントを記述すれば仕様書の中に取り 組むことができます。これによってドキュメントの完全 自動作成も可能です。また、できあがりの文章をワー プロ等で編集できます。 対応機種 PC9801 シリーズ・ MS ー DOS マシン 解析対象 K & R 仕様に準拠した C ソース \ 39 , 000 マイクロドック ( C ソース付 ) 上記製品はいすれもデモ . ディスク ( 無料 PC98 -5 インチ FD ) があります。資料及びデモのご請求 は FAX でも受付ています。 マイクロアート株式会社 〒 221 横浜市神奈川区鶴屋町 2-9-22 ー 614 TEL 045-316-6508 FAX 045 ー 316-6509 受付時間 AMIO : ()0—PM5 : 側 ( 月 ~ 金祭日除く ) く資料請求番号 158 > 158 C MAGAZINE 1992 3 NOV
スタートアップ C 十十 実力養成講座 り , プログラムの生産性を向上することが C 十十用のクラスライプラリ群が , 流通し始 ど大きな効果を上げるものて、はないといえ 可能になるのて、す。 めています。しかしながら , 実際に開発プ ます。とくに , 閉じた再利用て、はなく , 変 ロジェクトにこのクラスライプラリ群を用 これが , オプジェクト指向型言語として 数をも含めた再利用を行おうとする場合 , の C 十十の持っ , 二番目の利点て、す。一般に いることて、生産性を上げようと試みる場合 , 試行錯誤の時間を必要とするのて、 , む . しろ いわれているオプジェクト指向の利点とは , 開発の初期段階て、は , 再利用可能なライプ その分の工期を含めて考えたほうがよいか このクラスライプラリにより実現て、きる , ラリは「無」て、あると見積もったほうがよい もしれません。再利用可能なクラスライプ て、しよう。実際にその開発チームにおいて作 高い生産性が強調されることのほうが多い ラリは , そのチームの開発経験と比例して という感もあります。 られたり , 少なくとも再利用された経験の 蓄積されるものて、す。そして , その蓄積に 最近て、は , 商用 , フリーソフトを問わず , あるクラスライプラリて、なければ , それほ 反比例して生産性は高まるのて、す。 実践編 白倉伸一郎・山本浩文 「 - クラスライプラリなるもの 今回のお題は「クラスライプラリ」て、す。 「クラスライプラリ」とは , 学級文庫のこ とて、はありません ( 誰もそんなこと思ってな いって ) 。広義て、は , クラスをまとめたライ プラリて、ありさえすれば , 何て、もクラスラ イプラリだということになります。 しかし , 一般に「クラスライプラリ」とい データ型式を扱うためのルーチンの寄せ集 いわけて、す。 った場合 , iostream クラスや complex クラ め」 これが , 従来のライプラリの正しい つまり , バイト列として扱うからといっ スなどは含まれませんし , いわゆる「ライプ あり方にほかなりません。 て , どんな型式の要素て、も扱えるわけて、は ラリファイル」の型式をしている必要もあり しかしながら , 線形リストだの仮想配列 ありません。これらの関数が扱える要素は , ません。もつばら , 何らかの形て、お互いに だのといったデータ構造て、は , 全体の構造 最低限 , 「サイズがある ( これは当たり前 ) 」 関連しあった一連のクラス群のことを指し は決まっているとしても , 個々の要素のデ 「お互いに比較することがて、きる」という , ます。 ータ型式はケースパイケースて、す。もし , ふたつの特徴を持ちあわせていることにな このような「要素の集合体」を扱うための処 どうしてそんなものが必要に ります。 いったい 理を汎用化しようと思ったら , 不定なデー , こに着目して , List 1 のようなクラスを なるのか。その辺りから , お話を始めよう タ型式を扱わなければならくなります。 考えてみましよう。 かと思います。 この Comparable クラスて、は , サイズ情報 C 言語の標準ライプラリを探すと , かなり 「 = - クフスライプラリの方向性 近い線に挑戦している関数があります。 qs と比較関数がメンバ関数として用意されて ort( ) や bsearch( ) , lfind( ) などがそれて います。したがって , qsort なり bsearch なり す。 を書き直して , 「 Comparable の派生クラス 不定型な要素を扱う汎用ルーチ、 これらの関数て、は , おのおのの要素がど を要素とする配列」を受け付けるようにすれ ライプラリの名作中の名作といわれる , んなデータ型式をしているか , なんてこと ば , もう余計な引数はいりません。これら 高水準入出力関数ファミリ (stdio)o その実 は頭から無視して , 単なるバイト列として の関数が内部て、 , 必要な情報を要素そのも 体は , 「 FILE 構造体とゆかいな仲間たち」と 取り扱っています。その代わり , 各要素は のから引き出せるからて、す。 いったところてす。 どれだけの大きさてあり , また , 要素同士 従来の ( C 言語の ) 世界ては , ライプラリの を比較するにはどうしたらよいのか , とい 成功の秘訣はここにあります。「ある特定の う情報を外から与えてやらなければならな ス ラ ク 0 、 0 ・ 1 れ 1 み 0 み 00 4 ァータ型 いま述べたことを実行すると , 超基本クラス ObJect スタートアップ C 十十 91