システム - みる会図書館


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

1. 月刊 C MAGAZINE 1992年5月号

丸 S. Tanenbaum の最新刊 / Modern Operating Systems 1990 年代以降のコンピューティングのトレンドである分散処理システム、そして従来からの単一プロセッサシステム に関して幅広く網羅する最初の書籍です。 MS-DOS や UNIX のような伝統的システム ( 集中 OS ) や Amoeba や Mach のよ うな分散システム ( 分散 OS ) について、実際に動作する例題を用いて両種のシステムの原理を解説します。すべてのプ ログラマー必読の書です。 絶発売中 / ハードカバー ISBN : 13-588187-0 \ 13 , 58 ソフトカバー ISBN : 13-595752-4 \ 5 , 870 720 頁 ー 5 for the SUN SPARCstation ISBN 13-579632-6 \ 33 , 学習用の UN Ⅸライクな OS 、Ⅷ N Ⅸに、 SPARC on 対応のパッケージが加わりました。パッケージは、 C コンパイ ラ以外の全ソースコードを含むドキュメントと下記の内容を含むフロッピーディスクで構成されています。 ・ M Ⅸオペレーティング・システム■ C コンパイラ■ Bou 「 ne シェルと互換性のあるシェル・ , ⅵ , emacs べースの 3 つのエデイタ■ 175 以上のユーティリティと 5 以上のライブラリ ※ UN Ⅸオペレーティング・システムは、 UNIX System LabO 「 ato ⅱ es 面 0. が開発しライセンスしています。 ※ MS-DOS は、マイクロソフト社の登録商標です。 ・記載の価格は、消費税抜きの価格です。また、記載の 価格は 1 眸 4 月現在のもので、為替相場の変動な どにより予告無しに変更になる場合もございます。 ・ご注文は、洋書取扱い書店、大学生協までお願いいた します。 ■お問い合わせ、カタログのご講求は、プレンティス・ ホール・オプ・ジャパンまでどうぞ。 プレンティス・ホール・オブ・ジャパン 〒 18 東京都千代田区麹町 6-1-25 上智麹町ビル 3F TEL : 03 ( 3238 ) 1050 FAX : 03 ( 3237 ) 14e 担当 : 鈴木 く資料請求番号 1 乃上〉 大好評 . 〃林晴比古の本 お近くの書店でお求め下さい 定価は税込み ・ MS ー DOS 実用マスターシリーズ SOFT BANK ・ C 言語実用マスターシリーズ 新 C 言語入門ビギナシニア編 / 応用編 ] ビギナー編・定価 1 , 900 円シニア / 応用編・定価各 2 , 400 円 ・自然流プログラミングのノウハウを公開 C によるプログラミング・スタイルブック 定価 2 , 300 円 ・ C 言語の秘められた能力を解き放つ C プリプロセッサ・パワー 定価 2 , 270 円 ・初級 C 言語講座 PIay the C[ 上・下 ] 定価各 1 , 550 円 ・はじめての Tu 「 bo C プログラミング Turbo C 入門 定価 2 , 680 円 新 MS-DOSÄ門 [ ビギナー / シニア / 応用編 ] ビギナー編・定価 1 , 900 円シニア / 応用編・定価各 2 , 300 円 ・ビギナーのためのレクチャーブック プレイ MS-DOS 定価 1 , 960 円 ・より良く、美しいプログラムを書くために BAS ℃によるプログラミング・スタイルブック 定価 1 , 860 円 ・情報を見失わないための 14 章 パソコン書整理学 定価 1 , 800 円 ・バイト & ワードの風にのって第 2 集 オペラ座のパソコン 定価 1 , 400 円

2. 月刊 C MAGAZINE 1992年5月号

日本語 C システム「 JJ 」 プログラムとドキュメントの整合匪を取る。 これは意外と困難な作業です。しかし , プロ グラム自体がドキュメントを兼ねれば , 保守 管理は向上します。ここでは日本で記述する C システム「 JJ 」を紹介します。 一三ロ JJ のサンプルプログラム 双曲線正弦関数を求める 1 このプログラムは双曲線正弦関数を計算するもので、日本語 C システムで書かれている。 2 双曲線正弦関数は次のように定義される。 s i Ⅱ h ( x ) この式を直接計算してもよいのだが、 こでは指数関数がないも のとして、テイラー展開を用いて計算する。双曲線正弦関数のティ ラー展開の式を以下に示す。 s i れ h ( x ) = x 十 3 双曲線関数の関数名は s i れ h とする。この関数は実数型の変 数 x を入力とし、実数型の値を返すものとする。処理はテイラー展 開の部分のみである。 ※《双曲線正弦関数のプログラム※》 = # 取り込み <jjstdio. h> # 取り込み <jjmath. h> ※《ヘッダー※》 ※ ( 実数型 sinh( 実数型 x) ※ ) ※《変数の設定をする※》 ※《テイラー展開の処理※》 変数を設定をするでは「答え」という実数型の変数を 0 . 0 で初 期化して用意する。この部分は s i n h の中に展開される。 ※《変数の設定をする※》 * 実数型答えは 0.0 とする。 4 テイラー展開の式はそのままの形で計算することにする。式 [ 2 ] を書き直すと、 本語 C システム「 " C 言語はたいへん使いやすいプログラム言 語てすが , 英語圏て、開発され , 発展してき たプログラミング言語て、す。したがって , 英圏てない日本人には多少不便なところ があります。 プログラミングとは , 元来 , 人間が考え , 行う行為て、す。日本人の場合 , 日常は日本 語て思考しているのて , プログラミングも 日本語て行うほうが自然て , 効率もよいは ずだと考え , C 言語の日本語化を試みまし た。また , 日本語のドキュメントに近づけ ることも試みました。 日本語 C システム「 JJ 」はプログラムとドキ ュメントをひとつのファイルに記述てきる ツールてす。日本語のファイルから C 言語の ソースプログラムを作成するプリプロセッ サとして働きます。 具体的には ,JJ は JCS と JCL というふたっ の下請けプログラムから構成されています。 JCS は日本語のテキストファイルからプログ ラム部分を生成するプログラムてす。 JCL は List 122 C MAGAZINE 1992 5

3. 月刊 C MAGAZINE 1992年5月号

日本語 C システム「 JJ 」 List 1 日本語 C プログラムを通常の C 言語プログラ ムに変換し , C 言語のソースファイルを生成 します。 List 1 は双曲線正弦関数の値を求めるサン プルプログラムて、す。一見プログラムには 見えないかと思います。このプログラムソ ースを JJ て、処理すると通常の C 言語ソースフ ァイルが生成されます (List 2 ) 。 JJ の機能を簡単にまとめると以下のとお りになります。 ① JJ : JCS と JCL を起動する。 ② JCS : 日本語のテキストファイルから プログラム部分を抜き出す。 ③ JCL : プログラム部分の日本語変数な どを通常の C 言語のための変数 に変換する。 技法について WEB システムと JJ 日本語 C システム「 JJ 」は D. E. Knuth 博士 の作成した WEB システムを参考にしていま す。彼は「文芸的プログラミング (literatep rogramming) 」というものを主張していま す。「文芸的プログラミング」の主張とは , プログラミングは他人に見せるためのもの て、あり , その点を注意してコーディングす れば理解しやすいプログラムがて、きあがる というものてす。 さらに彼は最近「文芸的」という点を文章 の作法をどうするかというところまて、発展 させています。そのあたりのことについて の詳細は「クヌース先生のドキュメント纂 法』 ( 文献 [ 3 ] , 編集部注 : 参考文献は誌面 の都合上付録ディスクに BUNKEN. TXT と いうファイルに収録しました ) をご覧くださ また , 彼が主張している「文芸的プログラ ミング」は「構造的プログラミング」を強く意 2 k 十 1 [ 3 ] s i れ h ( x ) = k=0 ( 2k + 1 ) ! ~ 。 : となる。式 [ 3 ] で、初期値は x とし、それが k = 0 の場合になる。 k = 1 では前の値に x 2 を掛け、 2 k ( = 2 ) * 2 k 十 1 ( = 3 ) で割ればよい。以後、この作業を続ける。まず、必要な変数を設定 する。 k は 1 から 5 まで計算することにする。 ※《変数の設定をする※》十 実数型項は x とする。 実数型 x 2 は 0.0 とする。 整数型 k は 0 とする。 5 以下では k を 0 から 5 まで増やしている。 k = 0 の場合は答え は x である。 ※《テイラー展開 . は x * x とする。 X 答えは x とする。 繰り返し ( k は 1 ※《各項の計算をする※》 6 ※《各項の計算をする※》の部分は式 [ 3 ] で、前の値に x 2 を掛け、それを 2 k * 2 k 十 1 で割るという部分である。そして、 答えにその結果を足したものを代入する。 ※《各項の計算をする※》 * 項は項 * x 2 / ( ( 実数型 ) ( 2 * k ) * ( 2 * k 十 1 ) ) とする。 答えに答え十項を代入する。 7 最後に s i n h は関数なので、答えを返さなくてはならない。 その部分はテイラー展開処理の中の最後に追加する。 ※《テイラー展開 . ( 答え ) を返す。 2 / * k = 0 の場合 * / ; k を 1 増加する ) ;k く 6 日本語 C システム「 JJ 」で List 1 を変換し , 生成したプログラム List #include く jjstdio. h> #include く jjmath. h 〉 double sinh(double ーー 0K0 ) : 1 りな ^ 0 4 戸 0 6 7- 8 9 0 1 よ 00 0 -4 ′ 0 6 ー 8 9 0 、 1 りっ 0 -4 ′ 0 6 行ー 8 1 1 宀・ 1 1 , ↓ 1 ム 1 よ 1 人 1 よ、上りなり 0 り編り 0 りんり 4 り 0 りり 0 double sinh(double ー 0K の double —4SQOL6 = double ー 3C0 = double ー 0K02 ニ i nt OKB = 0 0K0 * ー 0K0 0K02 4SQ0 = ー 0K0 for(—0KB = 1 ・ OKB く 6 ; / * k = 0 の場合 * / 0NGOIG4CT2E1 ) OKB 3C0 * ー 0K02 / ( ( double ) ( 2 * ー OKB ) * ( 2 * ーー OKB + 1 ) ) 4SQOL6 + ー 3C0 3C0 4SQOL6 = return(_4SQOL6) : 日本語 C システム卩 J 」 123

4. 月刊 C MAGAZINE 1992年5月号

オプジェクトマネージャを通して OpenDB にアクセスすることがて、きるて、しよう。し かし , OpenDB などは , 将来発売される製 品のコンポーネントとなります。 NewWave は長い間活躍して , オプジェ クト指向技術の普及を確かにサポートして きました。 NewWave はまた , オプジェクト 指向技術の利点から恩恵も受けました。ひ とつの要因は , もちろん , NewWave が最初 に登場したときに比べてハードウェアが大 きく変化したことです。私が疑問に思って いるのは , 真のオプジェクト指向環境では 新しいソフトウェアをサポートするために ハードウェアが大きく変化することが必要 なのか , ということです。私がとくに考え ているのは , Steve JObs と彼の NeXT ma chine の関係です。彼は , 世界のオプジェク ト指向全体をサポートすることを基本にし て , NeXT を開発したように思えるのです が , そこまでする必要があるのでしようか ? Crow 我々は特別な必要条件があるとは思 っていません。大きなディスク容量や , メ モリ容量 , 高速プロセッサや高解像度など の恩恵を受けていないアプリケーションデ べロッパがいるとは思えません。確かに NewWave もこの点て、は同じて、す。 NewW ave は , アプリケーションの内部操作性を非 常に強調しているのて、 , 私たちはいって、も ューザプラットホームやそのパフォーマン スに照準を置く傾向にあります。ューザが NewWave を実行しているとき , 一度に数種 類ものアプリケーションを実行しているこ とに突然気づくのはよくあることて、す。 れはあまり強力て、ない環境を使っている場 合には , あてはまらないかもしれませんが おそらく私はこれて、十分だとか , 満足し ているとか , もう何も必要ないなどとは決 していわないつもりて、す。て、も , 我々が開 発中に何か特殊な要件に遭遇しても , 特別 ードウェア設計が必要とは考えません。 我々が普段 , 特殊なハードウェア設計をあ まり念頭においていないのは , 既存のプラ ットホームやアプリケーションを利用して 14 C MAGAZINE 1 2 5 出口を見いだすという最初からの戦略があ ったからて、す。そして , 既存のシステムを 利用て、きないかぎり , 本当に市場にだせる 解決策は生まれないだろうと我々は考えて います。 コンビュータシステム技術の展開に関し ては , 平均的組織て、は , そして積極的な組 織て、さえ , ある期間にインストールされた システムの約 10 % を展開させるのが限界て、 す。既存のシステムを利用しないて、 , 新プ ランドのハードウェア技術やソフトウェア 開発に一から資本投資を必要とする解決策 は , 確実に最低 10 年の展開サイクルが必要 なのて、す。我々はこの世界て、長く働いてい ますから , 今から 10 年後にはすべて変わっ ていることぐらいは十分承知しているつも りて、す。 確かに変化は速いですからね。 Crow て、すから , まさに最初の時点から , 我々の戦略はいつも , 既存のシステムとア プリケーションを利用するシステムや先端 技術を開発することて、した 0NewWave はほ かの製品と同様 , 最新のシステムてあるこ とて、優位性を保てますが , 基本は既存のシ ステムとともに動作することて、あって , 決 してユーザが新技術のメリットを利用する ために従来のアプローチを捨て去ってしま うことて、はありません。我々はシステムの ビジネスに十分すぎるくらい関わっている のて、 , これが明確な戦略だと信じています。 新たな GUI への対応 技術の劇的な変化といえば , まったく 異なった技術を推進させる努力をどのよう に考えていますか ? とくにペン入力シス テムや , 音声入力とタッチスクリーン入力 の復活などですが。 Crow 我々は , GUI はインタフェイス設計 の進化に見られる水山の一角だと考えてい ます。 New Ⅵ rave のモシュール設計やデベロ ッパに提供しているツールは , ユーザイン タフェイスをアプリケーションの実働部分 から区別する方法によって , アプリケーシ ョンを作成するのに役に立ちます。ところ て、 , 正直にいって , 我々が NewWave て、提供 した方針と同じ基本に立ってアプリケーシ ョン全体を構築したデベロッパはあまりい ません。ほとんどのアプリケーションは , 既存の Windows や DOS アプリケーションを 改良したものて、す。しかし , NewWaveC' 我々 が持った基本的 Agent アーキテクチャて、ある タスクオートメーション機能は , ューザイ ンタフェイスから分離したアプリケーショ ンへのプログラムインタフェイスを提供し ます。このプログラムインタフェイスは , アプリケーションのユーザインタフェイス と実働部分の間にレイヤを定義しています。 我々は実験を行っています。現在はまだ 最初のインプリメンテーションの実験段階 なのて、 , その結果をお話することはて、きま せんが , PenWindows を使って , PenWind ows 下て、 NewWave を実行しています。とも かく , 直接操作に重点を置いた環境て、ある PenWindows 下て、も , NewWave はあなたが 想像されるようにすばらしいものて、す。 Ne wWave はまったく変更をしなくても , Pen Windows て、その力を発揮て、きます。しか し , PenWindows のようにペン入力による 環境の本来のメリットを得るためには , ジ ェスチャー認識をアプリケーションに組み 込むことが必要て、す。つまり , ジェスチャ 認識は , コマンドをアプリケーションに 送るメカニズムが明らかに異なっています。 NewWaveAgent は , コマンドをアプリケ ーションに送る標準的プログラムインタフ ェイスを提供するように設計されています。 我々が試作品の作成を進めているのは , Agent のためのジェスチャー認識フロント工 ンドて、す。これを利用すれば , アプリケー ション自体に変更を加えず , Agent を使って 各アプリケーション用のジェスチャー認識 を提供することがて、きます。 Agent はペンの 動きを認識し , どのアプリケーションが動 作の焦点を持っているかを判別して , 適切 なコマンドをそのアプリケーションに送り ます。つまり , 我々は , 変更を加えない既 存のアプリケーションに , ジェスチャーに

5. 月刊 C MAGAZINE 1992年5月号

ITEL'92 國囚圖国 C MAGAZINE Access Card をこ利用ください。 C MAGAZINE アンケートカードをこ利用ください。 “ UN Ⅸ新紀元宣言” アイデル合江 ワールド・ピジネス・ガーテンから . いま新たに、アイテルの“ LJN ー X 紀元”がスタートします。 新規事業を積極的に展開していくための 最先端のキー部門として、 UNIX—TEAM を創設。 リーダーシップをとれるエリート・エンジニア IJN ー X を通して夢を実現させたい独創的な技術者 確かな技術とノウハウをもとに企画提案のできる SE を。 ' 第顛創疫ズジ穴ーとして求めます。 DA トイ ■■昭和 55 年の設立以来、アイテルは大手メーカーとの連携による 金融アプリケーションの開発をメインに、金融特化型の事業展開で 待遇昇給年 1 回、賞与年 2 回、交通費支給、 会社概要 各種社会保険完備、退職金制度、社員寮完 設立昭和 55 年 3 月 急成長を続けてきました。最高のビジネス環境のもと、数多くの一 資本金网万円 ( 授権資本金 / 2 億円 ) 備、諸手当 / 残業、財形貯蓄、住宅、都市、 流企業がオフィスを持つ幕張ワールド・ビジネス・ガーデンを拠点 家族、資格 : 一時金 ( 2 万円、 1 種 5 万円、 従業員数 50 名 特種・システム監査 10 万円、オンライン 5 年商 2 億円 ( 平年 12 月実績 ) に、首都圏では蒲田と三鷹、さらに大阪、仙台、福岡にと、 万円 ) 、毎月 ( 1 種 1 万円、特種 2 万円、システ 主要取引先富士通株、富士通グループ各 に応えて全国に展開。金融イノベーションとまで言われる変動の時 ム監査 3 万円、オンライン 1 万 5 网円 ) 、社 社、橫河電機株、他工ンドユーザー各社 員持株制度、海外研修制度、傷害保険、社 関連会社株アイテル総合研究所 代を迎え、都市型金融システムのノウハウに地方の金融機関からの 員旅行、月 1 回スポーッティ、各種クラブ 事業内容ビジネスアプリケーションシス 熱い注目が集まる中、長期的展望にたった拡大戦略を進めます。 活動 ( 野球・テニス・スキー・ゴルフ・他 ) テム、制御・通信システムのソフト開発 募集要項 あり、保養センター ( 熱海・箱根・伊豆・ ■一日本経済の大動脈を支える金融オンラインネットワーク。アイ 軽井沢・湯沢・草津・伊勢・琵琶湖・白浜・ 職種 / ステムエンジニア 別府・与論島 ) 仕事内容ビジネスアプリケーション、制 テルは金融系システム企業として、決してミスが許されないこの分 勤務地幕張、蒲田、三鷹、仙台、大阪、福岡 御系システム、通信システム、ワークステ 野で、高度な技術と業界に精通した確かな知識、豊富なノウハウを 勤務時間フレックスタイム制 ーション、ワープロなどの開発を中心とす る最新プロジェクトに多数参加し、幅広い コアタイム 10 ~ 15 : 存分に活かしています。そしてダウンサイジング、マルチベンダー 領域にわたるシステム構築に取り組んでい 標準労働時間 1 日 7.5 時間 化が急速に進むいま、改めて 'UN ー X 紀元を宣言。 ーズを的 休日休暇完全週休 2 日制 ( 土・日 ) 、祝日、 ただきます。 使用言語 U N ー X 、 C 言語、 C 0 B 0 L 年末年始・夏季・有給・慶弔休暇 確に先取りし、常に一歩進んだ業務展開を図るアイテルならではの、 応募電話連絡の上、履歴書 ( 写真貼付 ) PL/I 、アセンプラ ユニークな新規事業がスタートします。 と業務経歴書 ( 書式自由、経験者のみ ) を 資格高卒以上 20 ~ 35 歳迄の方 ( 経年 持参又は郵送ください。※ FAX での応募 以上 ) ■ーシステムの統合利用を可能にする「オープンシステム」に重点 も受け付けます。 F A X0472-97-2760 給与固定給制 17 万 5 円以上 ※入社日、面接日など相談に応じます。 給与例 ) 平成 3 年 4 月初任給実績 を置き、 UN ー X を中心に数々のプロジェクトを推進するにあたっ 交通」 R 京葉線海浜幕張駅下車徒歩 2 分 専門卒 / 17 万 5 燗円大卒 / 19 万 34 円 て、アイテルでは企画提案型のエンジニア、プロジェクト・リーダ 」 R 総武線幕張本郷駅下車幕張メッセ行き 26 歳主任例 / 月額固定給 24 万円 バス 7 分 31 歳課長例 / 月額固定給 29 万 7600 円 ーを積極的に募集します。技術者一人ひとりの個性と創造性を大切 ( 賞与 6 カ月 / 2 年度実績 ) にする快適な開発環境の中、オリジナルバッケージソフトの開発等、 ー採用連絡先 ※すべて住宅・都市・財形手当含む 〒 261-71 千葉県千葉市美浜区中 -6 W B 新しいフィールドにどんどんチャレンジして欲しいのです。 G マリプイースト 22 階アイテル株式会社 Te 刪 72 ー 97-277 曜担当 / 人材開発室 E フリーダイヤル 01 2 ロ -00-0249 お気軽にお電話ください。 C MAGAZINE 1992 ・ 5

6. 月刊 C MAGAZINE 1992年5月号

iterate programming) 」を主張しています。 , 92 年 5 月号特別付録 ( 5 ク 1.2M8 セクタ / ト h5 て、パッチあて変更済みファイルて、す。 文芸的プログラミングて、は , 作品として観 ラック MS-DOS フォーマット ) には , 次のプ 疑似汎化クラスライプラリ 賞て、きるプログラムを作ることを主張して ログラムが収録されています。 います ( WEB については ' 92 年 3 月号特集「ド ①付録ディスクの説明 キュメント作成支援システム」をご覧くださ AT&TC 十十 Ver. 3.0 て、はテンプレート README ( テキストファイル ) というクラスや関数の定義て、型パラメータ ② djgcc バージョンアップ対応 い ) 。その主張に近づくためのひとつの指針 を使う機能が取り入れられています。 ver. として C 言語の日本語化を試みたのが「 JJ 」て、 変更ファイル ( その 1 ) 2.1 以前て、はテンプレートに相当する機能を くディレクトリ > す。 YDJ U P ③疑似汎化クラスライプラリ generic. h とプリプロセッサて、代用していま 本誌掲載プログラム したが , それはあまり使い勝手のよいもの YGENLIB くディレクトリ > とはいえません。ところが g 十十 ( libg 十十 ) ④疑似汎化クラスューティリティ には疑似汎化クラスを実現するために , ュ YGENCLA くディレクトリ > : 特集 DOS 基礎学 TOKUSYU ⑤日本語 C システム「 JJ 」 ーティリティとして sed を使った sh スクリプ ESSEN CE : プログラミングの工ッセンス トて、ある genclass と , それを使った疑似汎化 : 実践アルゴリズム戦略 < ディレクトリ > STRATE YJJ クラスが付属しています。これは ,generic. : djgcc 詳解講座 ⑥本誌掲載プログラム DJGCC h とプリプロセッサて、代用した機能に比べ使 : 新 MS-DOS 入門 *CMAGA くディレクトリ > MSDOS い勝手もよく , 機能もテンプレートに近い : 恥ずかしながらドジりました ⑦ READ. ME 参照ューティリティ DOJ I ものてす。ただし , djgcc には付属していな : C 言語雑学講座 README. EXE ( 実行ファイル ) CZAT U 付録ディスクの説明 (README) に , 解凍 かったのて、今回収録しました。 : 実践 C プログラミング入門 STEPC : 応用 C 言語 C の道具箱 方法など , さらに詳しい説明が収録してあ 付録ディスクに収録した YGENLIBYGE OUYOU NLIB. EXE は自動解凍圧縮ファイルて、す。 : GCC て学ぶ 68 ゲーム ります。必ずご一読ください X68K : 日本語 C システム「 JJ 」 README はテキストファイル形式て、す。 疑似汎化クラスユーティリティ : PRNi•バイス無効化 PRNOFF 本誌付録ディスク収録の READEM プログラ : あつばれご意見番 ム , MS-DOS の TYPE コマンド , あるいは APPARE : C マガ電脳クラブ ご使用のエデイタ , ワープロソフトて、読む 疑似汎化クラスユーティリティは , sed を PUZZ LE 使った sh スクリプトとして libg 十十に付属し N IWA : 迷走プログラミング ことがて、きます。 : 見えてきた MS ー C / C 十十 ているものて、す。オリジナルの libg 十十 1. NEWS dJgcc バージョンアップ対応 39 に付属していた sh ( sed バージョン ) を PER INFO : インフォメーション 変更ファイル ( その 1 ) L ( 本誌 ' 91 年 9 月号収録 ) て動作するように移 : Readers' Room RR 植したものが今回収録するものてす。疑似 好評連載中「 djgcc 詳解講座 He110 GCC 日 EAD. ME 参照ユーティリティ WorId 」において紹介してきた djgcc の patc 汎化クラスユーティリティおよび疑似汎化 ( DOS マシン対応 ) h4 と patch5 両方の変更点を含む変更ファイ クラスライプラリについての詳細は今回の 今回「新 MS ー DOS プログラミング入門」て、 ルてす。 ' 91 年 10 月号および ' 92 年 1 月号て、配 「 djgcc 詳解講座 Hello GCC World 」をご 覧ください 紹介した READ. ME 参照ューティリティは , 布したファイルをインストールしたディレ クトリに , 今回および次回収録するファイ 付録ディスクの説明 ( README ) などのテキ 日本語 C システム「 JJ 」 ルを解凍し生成されるファイルて、置き換え ストファイルを画面上て読むユーティリテ るだけて Ver. 1.03 から 1.05 へバージョンア ィて、す。 README. EXE を README と同じ 本誌「特別記事日本語 C システム「 JJ 』」 ップてきます ( PC ー 9801 て、ご使用されている ルートディレクトリに収録しました。付録 方は 4 月号て収録した 98 パッチも必要て、す ) 。 ディスクをセットしたドライプをカレント をご覧いただけたて、しようか ? 日本語 C シ ステム「 JJ 」は D. E. Knuth 博士の作成した W なお , オリジナルは patch4. zip と patch5. z にし ip という別々のファイルて配布されています EB システムを参考にして作られたそうて README@ が本誌て配布するものは patch4 および patc す。 Knuth 博士は「文芸的プログラミング ( 1 て、画面に表示されます。お試しください。 ディスク内容のお知らせ 163

7. 月刊 C MAGAZINE 1992年5月号

MAGAZINE 1992 年 5 月 1 日発行 ( 毎月 1 回 1 日発行 ) 第 4 巻第 5 号通巻 32 号 1990 年 2 月 2 日第 3 種郵便物認可 提携・ LAN ー E 誌 / 監修・石田晴久 C 言語技術情報誌・ C マカシン 1992 MAY Vol. 4 No. 5 980yen 特集ー機種依存の壁を越える米国版 MS-C C + + V 既 7.0f0 「 Windows 3.1 報告 / 新エッセイフィンローダのあつばれご意見番 実践 C プログラミング入門実数の扱いと繰り返し / 実践アルゴリズム戦略 / X68k 活用講座 特別記事 日本語 C システム J 」 日本語化 C とドキュメンテーション ・疑似汎化クラスユーティリテイ「 GENC [ A 」・日本語 C システム J 」・本誌掲載ソースプログラム 【 5 " 2HD 特別付録】・ djgcc バーションアップ変更ファイレ①・疑似汎化クラスライプラリ「 GENLIB 」

8. 月刊 C MAGAZINE 1992年5月号

國囚圖国 C MAGAZINE Access Card をこ利用ください。 C MAGAZI N E アンケートカードをこ利用ください。 個人を尊重するアクトです。 " 百聞は一見にし力。ず ' 一度のぞいて下さい。 株式会社岩通アクト 東京都ハ王子市横山町 5-15 三井生命ビル 5 階 TEL ( 0426 ) 48-1595 代 DATA ー会社データ設立 / 平成元年 9 月 21 日資本金 / 1 億円 ( 岩崎通信機株全額出資 ) 社員数 / 55 名代表者 / 代表取締役社長横坂敏彦事業 内容 / デジタル PBX 、複合通信システムの基本ソフトウェアの開発データテレホン・多機能電話機・旧 DN 関連装置・ PBX 付属装置・無線通信シ ステムのシステムインテグレーションおよびコンサルティング開発ツール / HP9000 システム、モデル 370 ・ 350 ・ 320 、エミュレータ 68000 ・ 68020 、ワークステーション、 PC9801 使用言語 / C 言語、アセンプラーー募集要項職種 / ソフトウェア開発技術者資格 / 性別・学歴不問、 ソフトウェア業務経験者 30 歳位まで※特に C 言語による通信機器制御ソフトウェアの開発に意欲を持つ方給与 / 経験、年齢、能力を考慮の上、 優遇。 28 歳 SE 例 29 万 2000 円 ( 残業手当含まず ) 勤務地 / 本社 ( 八王子 ) 勤務時間 / フレックスタイム制コアタイムなしで 1 日 3 時間以上。月 間精算方式平均 162 時間 / 月 ( 標準 9 : 00 ~ 18 : 0 の福利厚生 / 社会保険完備、交通費全額支給、資格・技術・生活・超過勤務手当、退職金制 度、独身寮、保養所 ( 山中湖・伊豆 ) 昇給 / 年 1 回賞与 / 年 2 回休日休暇 / 完全週休ニ日制 ( 土・日 ) 、祝祭日、年末年始・夏季・慶弔休暇、 創立記念日、有給 ( 初年度 12 日 ) 他応募 / 事前に電話連絡のうえ、履歴書 ( 写真貼付 ) および業務経歴書を持参してください。※入社日応相談。 夜間の面接も致します。 ー採用関係連絡先東京都八王子市横山町 5 ー 15 三井生命ビル 5 階〒 192 ( 0426 ) 48-1595 代担当 / 横坂 C MAGAZINE 1992 ・ 5

9. 月刊 C MAGAZINE 1992年5月号

このような製品分野にテコ入れする努力は 行っていきます。 では , データベースやスプレッドシー ト機能に直接リンクする , あるいは依存す ることで恩恵を受けるかもしれないグルー プウェアやネットワークソフトウェアとい うような分野に , NewWave を簡単に分類す ることができないのですね。 Crow 我々が , とくに NewWave Agent を 通して理解て、きるのは , インテリジェント タスクオートメーション機能さえあれば , つまり , アプリケーションとコミュニケー トすることがて、き , どのアプリケーション が実行されているかを認識て、きるマクロ機 能さえあれば , すて、にユーザが持っている アプリケーションを利用し , よりうまく統 合してやるだけて、 , 特別なソフトウェアが なくても数多くの高度な解決策を構築する ことがて、きるということて、す。 たとえば , NewWave Agent によって , 既存の電子メールシステムを , これも既存 のフォームノヾッケージやデータベースノヾッ 供し , 最適開発環境を実現する方法として , が必要なのでしようか ? ケージにまとめて統合することがて、きます。 Crow 実際に今我々が UNIX て、行っている このようなアプローチは意義のあるものて、 このようにして , ワークグループ環境て、非 のは完全な書き換えて、す。これにはいくつ しよう。 常に強力なワークフローオートメーション かの理由があります。ひとつは , 我々が異 我々は , NewWave をアプリケーションと システムを構築しているクライアントもい 種環境 , つまり異なるハードウェア条件に OS の間のレイヤとして位置づけるつもりは ます。これは , NewWave 設計の根本にある 基づいて基本からアドレスまて、実際に作成 ありません。 OS が提供する機能の拡張て、あ 方針にも非常によく適合するものて、す。別 り , ユーザインタフェイスの問題をとくに しているということ , もうひとつはネット の問題が発生するたびに , ツールを開発し ワーク制約 ( バウンド ) を超えた完全な分散 重視したほかのレイヤ型製品を利用可能に なおさなくてもよくなる一方 , 既存のツー やリンクをサポートする目的があることて、 するものと位置づけています。我々が開発 ルを組み合わせて新しい問題が発生した分 しているソフトウェアは , オプジェクト指 す。ここ何年か , Windows プラットホーム 野に対処するという柔軟性が生まれるわけ て開発を進めてきましたが , ここて、 , まっ 向的なモジュールて、構築されており , この て、す。 たく白紙に戻って , 一から書き直すのもの ようなモジュール性によって , プログラム いいのて、はないかと判断したのて、す。 コードの大部分が特定のウインドウシステ NewWave 環境の移行 おっしやった問題や , 異なるプラットホ ムにて、きるかぎり依存しないようになって ームて、異なる GUI が使われている事実は , 当 います。 UNIX インプリメンテーションを S 現在 , UN Ⅸ分野では , グラフィックイ 然我々にも関心がある問題て、すが , NewW unSoft と共同て、開発しているため , これは ave がその解決策になろうというわけて、はあ 非常に重要なポイントとなります。我々の ンタフェイスに関して一連のさまざまな問 りません。確かに , 現在て、も , 異なるウィ サイドて、は Motif に専念し , SunSoft 側は O 題があります。また , いわゆる標準に関す ンドウシステムに移植性レイヤを提供する る問題もたくさんあります。このような状 penLook を中心に開発を進めています。 況で , NewWave がひとつの環境から別の環 ような解決法がいくっかあります。そして , これは , ウインドウシステムから可能な 境に移行していくのは難しいのではないの さまざまなプラットホーム上て、 NewWave を かぎり独立した設計を構築しなくてはなら でしようか ? また , このような移行を実 構築するデベロッパにとって , 複数のプラ ないため , 我々にとってもよいことだと思 現するには , 大量のプログラムの書き換え ットホーム上て、同じアプリケーションを提 いますよ。 HP 社も SunSoft も , 将来もっと 12 C MAGAZINE 1 2 5

10. 月刊 C MAGAZINE 1992年5月号

特集℃プログラマのための 993 ロ住 ているのて、 , Fig. 1 のような手順て、公開され ている DOS ファンクションを使用している かぎりは DOS 2. x て動作するプログラムは 最新の DOS 5. x て、も動作するはずて、す。 しかし , 非公開の DOS ファンクションや DOS 機能を使用しないと実現て、きないプロ グラムも少なくなく , その場合にはバージ ョンを判別してプログラムを切り分けない といけません。 また , DOS は Disk Operating System の 頭文字を取ったものて、すが , 次の OS(Oper ating System) の機能 , ・ハードウェア管理 ・タスク管理 ・ディスク管理 ・アセンプラやコンバイラなどの言語プロ グラム ・アプリケーションプログラム 内て、のディスクの管理を中心にした OS て、 す。したがって , ファイルの読み書きなら 公開された DOS ファンクションだけて、も十 分にプログラムを記述することが可能て、す が , それ以外の機能 , たとえば , ・グラフィック操作 ・マウスの操作 ・通信 ( RS ー 232C ) などのプログラムを記述しようとすると , DOS ファンクションだけて、は記述て、きない ため , ROMBIOS の呼び出しやハードウェ アに直接アクセスを行うようになります。 本特集て、は PC ー 9801 シリーズ , IBM-PC 互 換機 , FM-TOWNS を取り上げて機種依 存・バージョン依存のプログラムを記述す る方法を紹介していきます。 Fig. 1 MS-DOS の構成 アプリケーション ( 外部コマンド ) ( * 1 ) COMMAND.COM ( * 2 ) MSDOS. SYS ( * 3 ) ( * 3 ) 追加のテパイスドライバ ( * 4 ) 9. SYS ( * 4 ) ROM 引 OS 八一ドウェア ( * 1 ) DOS の内部コマンドを呼び出す。 ( * 2 ) システムファンクション (INT20h ~ 3Fh ) 経由で呼び出す。 ( * 3 ) テノヾイスドライ八として呼び出す。 ( * 4 ) ROM 田 OS の機能を提供するソフトウェア割込み (lNTxxh ) を呼び出す。 実際にはアプリケーションが八一ドウェアや ROM 引 OS などを直接呼び出すことが少な くないが , このようなプログラムは機種依存するようになる ( 上図はこのような場合を省路 している ) Fig. 2 DOS のメモリマップ 旧 M ー PC シリーズ PC ー 9801 シリーズ 割り込みべクタ領域 割り込みべクタ領域 ROM 引 OS システム変数領域 ROM 引 OS システム変数領域 9. SYS 2. SYS MSDOS. SYS MSDOS. SYS ティスクバッファほか ティスクバッファほか 追加のテパイスドライバ 追加のテパイスドライバ COMMAND ℃ OM 常駐部 COMMAND ℃ OM 常駐部 フリ—RAM フリー日 AM テキスト VRAM VRAM グラフィック VRAM F8 ( 拡張 ROM 拡張 ROM 1 皿 EMS ページフレーム EMS ページフレー 1 F 印 UMB UMB 拡張グラフィック VRAM 日 OM 引 OS ROM 引 OS HMA HMA プロテクトメモリ プロテクトメモリ FM-TOWNS 割り込みべクタ領域 9. SYS MSDOS. SYS ティスクバッファほか 追加のテパイスドライ八 COMMAND ℃ OM 常駐部 フリ—RAM VRAM RAM ROM/RAM HMA プロテクトメモリ DOS の一マップ Fig. 2 に一般的な DOS のメモリマップを示 します。 DOS 5. x て、は HMA ( 100000h ~ 10 FFEFh) と UMB ( A0000h ~ FFFFFh 内の未 使用領域 ) が正式に認知され , IO. SYS, MS 特集 c プログラマのための DOS 基礎学 31 リアルモード でアクセスで きる領域 IOFF 印