G20 奮闘記ーー GNU と g 十十と X68000 第①回吉野智興 X68000 はその名前のとおり , MPU ( CPU ) に モトローラ 68000 を採用している国産唯一の 一般向けパソコンです。 X68000 の内部アー キテクチャは 32 ビットでありながら 1 6 ビッ トマシンと呼ばれ , ガリバーマシン 9 8 の陰 に隠れてしまい , ゲーム雑誌以外ではあま り注目されないマシンでもあります。 , , では GNU ソフトの移植を中心として , 「高価 なファミコン」といわれる X68000 のゲームマ シン以外の一面を紹介していきたいと思い ます。なお , IJN Ⅸなどの専門家の方が読め ば不適切な表現があるかもしれませんが , ご容赦ください。 G U 移植の拡大 私が GNU ソフトを知ったのは , たしか一 昨年だったと思います。有科パソコンネッ トのひとって、ある Nifty-Serve の X68000 を扱 っている sig, FSHARP て、チャットしたと き , GNU を X68000 に移植しておられる人が いるらしいと話題になっていました。 また , これとは別に TEX ( 注 1) というもの があるらしく , それはとてつもなく巨大な ソフトウェアだそうて TX68000 ては無理て、は ないか ? 」と話し合っていたものて、した ( 現 在て、は TEX はまがりなりにも X68000 て稼働 しています ) 。そうこうしている間に同じく パソコンネットのアスキー pcs て gcc ( 注 2 ) の X68000 版がリリースされたとのを聞き , ネット仲間てある NASH さんにディスクて、 送っていただきました。これが私の GNU ソ フトウェアとの出会いてした。 gcc の移植は X68000 のアマチュアプログラ マにとっては最大の事件て、あったと思いま す。 UNIX て稼働するコンパイラがホビーマ シン , それもゲーム以外て、はあまり役にた たないマシンといわれてきた X68000 て動作 するようになったのて、す。これをきっかけ に , GNU のソフトが数多く X68000 に移植さ れました。現在 , 私の手元にある UNIX ライ クなプログラムを TbI. 1 に紹介します。 これらのソフトウェアはもちろん市販さ れているわけて、はありません。入手するに は該当ソフトが存在しているネットを探す か , 知人からコヒ。ーさせてもらうしか方法 はありません。 現在 , パソコンレベルて、 gcc を含めた GNU 移植は X68000 と FM-TOWNS のユーザによ って比較的熱心に行われているようて、す。 私は 98 & MS - DOS の世界にはあまり興味が ないのて、 , gcc の 80386 バージョンが FM- TOWNS 以外のパソコンて、動作しているか どうかは知りません ( 共通しているのは , ど ちらもマイナーマシンて、あり , メモリの制 限がゆるいことて、す ) 。 GCC X68000 の概略 X68000 の GNU 移植の代表選手 , gcc につ いて少し紹介しましよう。 X68000 にはシャ ープから発売されている純正の C コンパイラ がありますが , gcc はその環境を踏襲する形 て移植されています。したがって gcc だけを 入手しても意味がありません。ご注意くだ さい。また , マニュアルは英文て TEX 形式 になっています。パソコンネットなどて入 手てきる X68000 用の gcc としては , いくつか の種類 , バージョンが流通していますが , 代表的なものとしては通称「近藤版 gcc Ver. 01 .36 」および「みるく版 gccl. 34 」があり ます。このふたつはバージョンも違います この 2 点とライプラリのリンク指定方法を いが , コンパイルスヒ。ードは速い みるく版は 68020 コードが生成て、きな き , みるく版は符号なして、ある 1. 近藤版は char がデフォルトて、符号っ す。大きな相違点は次のふたって、しよう。 そのほかにも細かい点て、異なっていま 2. が , Conference Room 131 のが有名。 しては X68000 と FM-TOWNS<Eß)J するも コンパイラ。パソコンに移植されたものと ャード・ストールマン氏の開発した高性能 C ( 注 2 ) GNU プロジェクト主宰者てあるリチ 込み印刷まてサポートされている。 発揮する。 X68000 てはグラフィックの取り まった形式のレポート作成などには威力を と , 一線を画する水準。とくに数式処理 , 決 X68 て処理しても仕上がりは市販のワープロ ( 注 1 ) UNIX て著名な文書処理システム。 す。むしろ , ポインタと整数を自由に変換 far, near ポインタを除けば移植は容易て、 ー C て、記述されたソースは 86 系のガンてある も存在しますが , MS ー DOS の主流て、ある MS て、コンパイルしたものと結果が異なる場合 に ANSI に準拠しています。したがって , XC て、は可能て、 , プリプロセッサも gcc て、は完全 ANSI タイプの関数記述はて、きませんが , gcc とは仕様がかなり異なっています。 XC て、は 一方 ,gcc とシャープ純正のコンパイラ XC 除けば , 大きな違いはありません。
( Ver. 1.37 て、は直っているかも ) , アマチュ アて、ある私が使用するには十分な信頼性を もっています ( それて、はプロが使うには耐え られないのて、しようか ? これは GNU ソフ トウェアはすべて無保証て、あるのて、あえて こういいました。 gcc を使用していると , 多くの場合メモリ 不足に悩まされます。 GNU ソフトウェアは 仮想記憶機能をもったマシンを前提として いますから , その機能をもちあわせていな い X68000 て、は物理メモリを増やしてやるし か対処方法はありません。コンパイラ自体 のサイズも MS ー DOS のカべ 640K にせまる 500 K バイトて、す。 本格的に gcc を使用する場合には 4M 以上 のメモリを用意したほうがよいて、しようが , これだけのためにメモリを増設するのはや つばりマニアだけて、しよう。 G 移植挫折編 同じく GNU がテストリリースしているコ ンパイラに g 十十があります。これは GNU CC に C 十十のフロントエンドを結合して作 成された C 十十ネイテプコードコンパイラて、 す。 本誌て、も紹介されていますのて、 , ご存じ の方も多いて、しよう。これを X68000 に移植 して動かそうと思ったのは , 4M 増設 RAM ポードを購入して , gcc て、のコンパイルに間 題がなくなったころてした。 現実的な問題として , X68000 程度のマシ ンパワーて GNU ソフトを移植するには相当 な時間的困難がともないます (BISON 注 4 や FLEX 注 5) くらいならそれほど難しくあり ませんが・・・・・・ ) 。最初に移植を試みたのは Ver. 1.34.0 てした。先ほども述べました が , g 十十はコンノヾイラのコードジェ不レー タ部分を gcc に依存しています。 C 十十の文 法にそって構文木を作成し , 内部コードて、 ある RTL コードに展開するまてが g 十十フロ ントエンドの仕事て、 , そのあとのマシン依 存部分は gcc を流用してあります。したがっ て , ま igcc のソースを用意しなければなり ません。 ソース自体はパソコン通信のフロッヒ。ー べースて、配布がありましたのて、 , それて入 手しておりましたにの場をお借りして , 配 布してくださった方々に感謝の意を表しま す ) 。 GNU ソフトは UNIX マシンて、は通常磁気 テープて、配布されますが , すて、に配布され たときにはフロッビーに転送されておりま した。当然 , IM しか容量はありませんの て、 , 一部の巨大なソースや diff ( 注 6 ) は UNIX 上て、 tar&compress ( 注 7 ) され , ish ( 注 8 ) て、 分割されて格納されていました。 ish, tar, compress はすて、に X68000 にも移植さ れており , 展開ツールには問題ありません て、したが , 物理的な EWS との性能差は非常 に大きいのて、一朝一タにはて、きないのて、す。 余談になりますが , SONY の NEWS て、 GNU ソースを compress したことがありま す。が , そのスピードにはちょっと驚かさ れました。やはり , EWS とパソコンとて、は 歴然たる差があることを痛感しました。 さて , RAM ディスクを 4M バイト確保 し , フロッヒ。ーに分割されている ish 形式の ファイルをひとつに結合して , is れ形式から commpress されたデータ ( バイナリの UNIX てはサフィックスが . Z になる ) に展開しま す。 作業は RAM ディスクに is れファイルを置 き , HDD に展開します。ところがこの段階 て、さっそくつまづきました。 Human68k< は許されないファイルネームの g 十十 . taz に なっていました。しかたなく , ファイルオ ープンルーチンをデバッガて、探し出し , パ ッチをあてて展開して , なんとか解決しま した。このファイルネーム制限は後々まて 呪いのようにつきまとうのてすが , 結局フ ァイルシステムの根本的な違いなのていた しかたないところて、しよう。 ソースを compress て、展開し , tar て、完全 なソースファイルに戻してやります。 X68000 の tar は Human68k て、許されないファイルを リネームして展開してくれるのて一見問題 なくファイルが生成されました。 ところが , 実際コンパイルしてみるとゾロゾロエラー が出てきます。大半はヾ Conference Room 133 されないキャラクタのひとつ。 ( 注 9 ) Human68k< はファイルネームに許 てきる。 分割すれば何枚かの FDD に転送することが compress し , これ <ASCII ファイルにして するツール。 UN Ⅸての巨大なファイルを 訂正機能を付加して ASCII ファイルに変換 トコンバータ。バイナリファイルにエラー ( 注 8 ) パソコン通信の世界ては有名なビッ UNIX のファイル圧縮ツール。 てて使う仕様になっている。 compress は イバ。 X68 や 98 の tar は FDD をテープにみた ( 注 7 ) tar は本来は UNIX てのテープアーカ ルて生成してそれを供給している。 は , 元のソースからの差分を diff というツー ( 注 6 ) gcc などはバージョンアップの際に タを作ったりして遊んてる。 ( 語尾を「山瀬まみ」風にしてしまう ) フィル UNIX の lex に相当する。私はこれて「まみ語」 ( 注 5 ) GNU の高速字旬解析ジェネレータ。 はこれてコンパイルして生成する。 の yacc に相当する。 gcc, g 十十のノヾーサー ( 注 4 ) GNU のコンパイラコンパイラ 0UNIX きしてしまい , 存在していなければならな いるものは , tar が既存のファイルに重ね書 この結果 , 先頭 8 文字が一致してしまって にありました。 しないという , MS-DOS 仕様の Human68k 原因はファイルネームの先頭 8 文字しか識別 除いても不可解なエラーがまだ出てきます。 ところが , この手のエラーをすべて取り ませんて、した。 ないエラーて、 , これは大きな問題て、はあり ームされている ( 注 9 ) のて、ヘッダが見つから
COMPUTER PRO-STAFF SYSTEM CREATE 0 0 高品質のュメンテーションを簡単に実現する、 新世代のプロジェクト指向プログラムヘルバーです。 CPAD はこれまて C 言語による開発てソフレ、ウ スが悩んていた、開発時の工数短縮及び複数 人数によるプロジェクト管理を容易に致します。 また、既存のソースリストの仕様書を自動作成し ますの ( 管理体制を容易に画一化することが 可能となり、また、プログラマーの余分な負担を 軽減する事がてきます。 5 大機能 c ソースの解析、援助、学習ツール & て ①プログラマーの熟練度の違いを吸収。 ②カーニ八ン & リッチーの書式にソースをリフォーム。 ③ PAD 仕様に準する出力機能。 ( 自動出力印刷例参照 ) ④全ソースリストを公開。 ( オプション ) ⑤豊富な出力機能。 ( 自動出力印刷例参照 ) C 言語開発支援ツール CPAD= シーバッド Ve 「 .2 標準価格 ( 税込み価格 ) ・・・¥ 85 , 000 ( 98 対応版 : Ve 「 .2 、その他対応版 : Ve 「 1.5 ) ・対応機種、大幅強張。噬る CPAb の世界。 NEO PC 800 、富士通 FM 日、 を沖 jf8003 日 M ~ 55 ・ P ソフトウェアインフォメーションセンター ( 技術的なこ質問・こ相談に電話でお答えします〉 . - 、 TEL. ( 06 ) 634 ー 2563 〒 5 大販市浪速区日本橋東 3 丁目 2 ー 23 受付時間 / 規 9 : ~ 5 : 。月曜日金電日 ( 祝日を除く ) 3 オオッカ商事 / ー、本社 : 〒 760 高松市西内町 5 ヨ 4 134 CMAGAZINE 19 4 クロスリ ) し〉ス 入力して , コンソールに出力される結果を いファイルが消失していたのて、す。これに 気がつくのに半日以上悩みました 0UNIX か 見て行います。 これは使い方次第て、は機械語の勉強にも ら MS-DOS などにファイル転送の経験があ なり , コンパイラがソースをどのように機 ればこんなことは常識かもしれませんが , 械語に展開するのかもわかって , C て、書かれ DIR をとってもなんらおかしな点がないの たプログラムをデバッグする一助になりま て、 , 解決まて、時間がかかってしまいました。 す (#include などのプリプロセッサ命令は工 原因はわかっても対処は厄介て、す。 ish のと ラーになります。 C コンパイラは純粋な C し きと同じように , tar のファイルオープンル ーチンをフックし手作業て、リネームしてか か受けつけませんから・・ 苦労して実行ファイルまて、はて、きました。 ら展開させます。当然 , ファイルネームが 違ってきますから makefile やソースをかな ところがこれまて、の方法て、起動し , チェッ クしてみるとまったく動きません。いろい り変更しなければなりませんて、した。 ろソースをいじってみましたが , いじるた せつかく MS-DOS よりも長いファイルネ びに 20 分以上も待たされるコンパイルがひ ームが許されているのに識別が同じ文字数 かえています。少して、も動けば苦労の甲斐 というのは納得て、きない仕様て、すが , これ があるのて、すが , まったく動こうとしてく はもう MS-DOS を逆恨みして慰めにしてし まいました C ません。 今て、も C に詳しいわけて、はないのて、すが , gcc に依存している部分のソースはすて、に 展開されたものがあったのて、 , それを使用 C 十十の巨大なソースを前にしてどこをどう 修正したらよいのか , しばらく途方にくれ しました。いくっか UNIX との相違部分がェ ラーになりましたが , ソースを修正してど gcc を移植された近藤さんは最初は EWS と うやら実行ファイルが生成されるところま て、たどりつきました。ちなみに X68000 て、は 行ったり来たりだったというを聞いてお りましたし , やはり X68000 て、セルフコンパ make を起動してから実行ファイルが生成さ イルは無謀て、あったのかと思い , この時点 れるまて、 , ノーエラーて、 4 時間以上かかりま て、 , いったんは完全に移植をあきらめてし このころには , gmake も X68000 に移植が まいました。その後 , いかにして私が立ち 直ったかは次号て、お話しいたします。 終わり , コンパイラの起動などはすべて make に任せておけばやってくれましたが , それ おりに て、も makefile の修正などの作業はけっこう 手間どりました。 多くの UNIX ライクなツールが登場しまし こまてて、きたらラヾッグてす。 gcc や g 十十 たが , これらのツールはパソコン通信にど はいっさいの中間ファイルを生成しないて , 1 パスて、アセンプラソースを出力してきま つぶり浸かっている X68000 ユーザにとって はすて、にご存じのものばかりて、しよう。 X68000 す。ソースファイルネームを指定しないて、 はマイナーマシンて、 , パソコン専門雑誌て、 起動すると , 標準入力からソースを読み込 んて、 , 標準出力にアセンプラソースを吐き もほとんど無視されがちて、すが , ネットに 出す対話的な使い方がて、きます。コンパイ は多くのアクテイプューザがおられ , 優れ ラもフィルタのひとってす。私がコンパイ たプログラムを発表されています。 GNU に とどまらず , C, C 十十がらみのツールをて、 ラをデバッグしたり , コードを見て研究す きるだけ紹介していきたいと思っています。 るときにはいつもコンソールからソースを 0 歯教仕機表
「理想」か「実現」できたら Printf S canf を使わずに画面の 設計制御が可能でこの製品 は画面部分のコーディングとデー タェックル→ンをプログラム から切り離すことに成功した画期 的な開発ツールで汎用機の レベルをそのままパソコン上で実 現可能にした、まさに C ユーザー が待ち望んでいたツールで 画面制御ツ B-FORP 35 種類の入力完了条件 を新、、集学 $ N ーい、 フィールト、、 生い、カ "R ー P 旧 OM E 旧 E し P Y N Y N Y N N Y N ・ 1 Y 卩 庠 2 Y N 6 Y N 8 Y N PFIØ Y N フィールト、、 S + ー Y S ヰド 2 Y S + 6 Y い日 : 8 S 平ド Y ( c. P , N は外 ) I ラービ・一フ。 カーソは・ 表示色 1. 白 2. 黄谷 . 水 4 5 : 紫赤 7 請 8. 里 を導読にジ・、匙・ = ・ト・ Y N アリ -1 な Y N ーリ , 、、・ -- ス Y N ア当ライ : , Y N 新フ←ルト、、長報 Y = 12 2 ・画面制御関数は非常にコンパク - ト。関数自体のメモリー容量を気に ・画面情報のロード / リリース関数により無限の画面か扱えます。 ・全画面情報をメモリーの外に持っことができます。 無限の画面数 する必要はありません。 B ー FORP は、画面情報の中に、各入力項目 ( フィールド ) 毎にデータの 形式、 3 頁の入力莞了刹牛などの要素を簡単に指定可。実行時には これらのチェックを終えたデータのみをユーザ・プログラムに引き渡 すので、プログラム作成の負担が : 冨に軽減します。 高速マルチウインドウ実現 済むことになります。ー 正することで対応可能です。ューサプログラム自体刎廖正は最小限で 画面イメージは、レイアウトエデイタにより、画面情報ファイルを修 文字表示イ立置、色・属性、フィールド位置・長さ、及び入出力条件等の 再コンパイル不要 て表示・消去か可能です。高速マルチウインドウ処理カ吶単に寒見で 速処理を寒見メモリーに取り込んた複数の画面を個別に範用指定し B ー FORP の画面制御は、 V ー RAM を直接アクセスすることにより高 信したり、日該リを表示したりすることも可能てす。 カ中にバックグラウンドで RS ー 232C や GPIB に対してデータを送受 B-FORP のキーポード入力関数はリアルタイム処理対応。データ入 リアルタイム処理対応 きます。 マルチウインドウ 作成例 〔基本画面作成〕 〔ウインドウ画面作成〕 〔実行時〕 価格 ・不体 ・ 0 S ・漢字入力 ・プリンタ レイアウトエテイタ・・・・動作環境 NEC PC -9800 シリーズ MS-DOS ver. 3.1 以上 各種日本語入力 FEP 使用可 pc -P 日 201 シリーズ ( レイアウト印刷用 ) ・本体 ・ OS ・対応言語 ・漢字入力 ランタイム関数・・・動作環境 NEC PC -9800 シリーズ MS-DOS ve 「 . 3.1 以上 MIC 「 osoft C /TURBO C LattIce C 各種日本語入力 FEP 使用可 ・日一 FO 日 P ( レイアウトエデイタ十ランタイム関数 ) ・ ・レイアウトエテイタ ( 3 丘 2HD 、 2HD ) ・・ ・ランタイム関数 ( 3 2HD 、 2HD) ・・ ・ 58 , 000 円 ・ 38.000 円 28 , 000 円 ※ M S-DO S 及び日本語入力フロントプロセッサは付属しておりません。 *MS-DOS 、 Mlcrosoft C は米国Ⅵ c 「 0S0 社の登録商標です。 B ー FORP を使って作成したプログラムに対するライセンス料は不要です。 *TURBO C は米国 Bo 「ね nd 社の登録商標です。 * LattIce C は米国 Lat 目 ce 社の登録商標です。 ( 社 ) 日本システ乙ハウス協会会員 ※資料をこ・希望の方は右の資料請求券をハガキに貼付し住所・氏名・電話番号を明記のうえ下記宛へこ・郵送下さい。 本社 / 〒 5 東京都港区東新橋 2 ート 7 ( 住友生命東新橋ビル 6 F ) 谷東京 ( 03 ) 432 ー田 77 ( 営業部直通 ) ( 03 ) 432 ー 03 引 ( 代表 ) 株式会ネにリ
てきるのて℃らしいトリッキーな記述が可能 になっています ( 元来 , XC のライプラリは MS ー DOS をかなり意識して作られているみ たいてす注 3 ) 。 デバッグはソースコードデバッガなどの ような良好な開発環境て、はありませんのて , 工ラーが出た場合は少し苦労しますが , X68000 の場合 , ほとんどバスエラーかアド レスエラーて OS に復帰します。したがって 暴走→リセットということはあまりありま せん。経験からいってます , RAMi•イスク は無事てすし , システム再起ち上げという ことはほとんどないてしよう。 さて , XC と gcc の大きな違いはコードの 最適化とコンパイラ自体の安定した動作に あります。 gcc の最適化について話をするの は少し本筋から外れますし , 一度 , 出力さ れるコードを参照していただければ納得が いくはずて、す。コンパイラの性能について は本誌創刊号てもいくつかテストされてい ますが , どうしてもコンパイラの最適化な にに目を奪われがちてす。 しかし , プログラマの意志を正確に反映 することが , コンパイラのひとつの性能だ と思います。ドライストーンべンチマーク の値が少しくらいよくても , GNU ソフトウ ェアのような巨大なプログラムを正確にコ ンパイルてきないと意味がないて、しよう。 参考まて、に X68000 のドライストーン値は XC て、は 700 程度 , gcc て、は 1300 ~ 1500 ( ライ プラリによってかなり変動します ) 程度て、す ( 遅いと思われるてしようが , int は 32 ビット て、すから long int 宣言したラージモデルて、 ( 注 3 ) X68000 の標準 OS は Human68k とい う , 外見が MS-DOS そっくりの OSO 外見は MS-DOS だが , メモリは許されている 12M フルに実装してもすべて , 普通のメモリ空 間て , C 十十のような 700K バイトのプログ ラムも通常のプログラムとまったく同じに 起動てきる。 132 CMAGAZINE 19 4 比較するのが正しい比較て、ある ! わけしておきます ) 。 残念ながら , XC はこの点て、失格といわざ るを得ません ogcc のソースはプリプロセッ サの段階てバスエラーになってしまいます。 市販コンパイラの評価記事のドライストー ン値や , コンパイルスヒ。ード , コードサイ ズだけに目を奪われないて、 , 自分の意図し たプログラムを正確にコンパイルしてくれ るコンパイラを選択したほうがいいて、しよ フ。 gcc て、問題が発生したのは一度だけて、 TbI.1 ファイル名 aS386. x bison . X compress. X CP ・ x print. x fecho. x flex. x g386CC1. x gCC. X gcc134. x gcc386. x gcc ccl . x gcc_CPP ・ x taz. X tar. X 「 m . X patch. x mv . X make. X . x 旧 386. x grep ・ x gPP_CPP ・ x gpp ccl gnu_cpp. X gnu ccl gdiff. x . X fontman. X p 「 evlew. X 内容 copy のコマンド版 cp UNIX コンパチの compress GNU の yacc, コンバイラバーサ GNU の 80386 クロスアセンプラ ージェネレ ータ TEX の d ⅵプリント用のプリンタドライバ ファイルネームをエコーするコマンド GNU の lex, 高速字句解析ジェネレータ gCC80386 クロスコンパイラ gcc コンバイラドライバ gcc VerI. 34 用コンパイラドライバ gCC80386 クロス用コンパイラドライバ プレビューアのフォントマネー TEX の d ⅵプレビューア tar 十 compress GNU Tape アーカイ '<tar UNIX の rm 相当のコマンド 差分適合プログラム patch UNIX の mv 相当のコマンド gmake UNIX の ls 相当のコマンド 80386 リンカ GNU grep の漢字対応版 g 十十プリプロセッサ g 十十コンパイラ本体 g 十十コンパイラドライバ gccl. 34 プリプロセッサ gccl. 34 コンパイラ本体 GNU の diff, ファイル比較ツ gccl. 36 プリプロセッサ gccl. 36 コンバイラ本体 ジャ ー - ノレ
ティスラ内容の知らせ 0 0 ' 90 年 4 月号特別付録 ( 5 〃 1.2M 8 セクタ / トラックフォーマット ) には , 次のプログラ ムが収録されています。 ① LHarc Ver. 1 . 1 3d LH113DJ.COM ( 自動解凍圧縮ファイル ) ② LH Ve 「 . 0.73 LH X. R ( 自動解凍圧縮ファイル ) ③ MELWARE Ver. 4 MELWARE. LZH ( 圧縮ファイル ) ④本誌掲載プログラム YCMAGA くディレクトリ > ⑤付録ディスクの説明 README ( テキストファイル ) 読者アンケートで多数のご要望があった LHarc 最新版と X68000 用 LH も収録しまし た。今月号では LHarc の収録にともない , 読者アンケートで「自動解凍は不要」という 多くのご意見にお応えするため , 試験的に 自動解凍でない圧縮ファイル (MELWARE Ver. 4) を供給しました。 MELWARE Ver. 4 を解凍するためにもます LHarc を解 凍してください。 ⑤付録ディスクの説明 (README) には , このページよりさらにくわしい使用説明を 収録しました。 LHarc Ver. 1. 13d ( 高圧縮書庫管理プログラム ) LHarc (Copyrighat (c) H . Yoshizaki ( 吉崎栄泰氏 ) ) とは LZSS 法に適応的 Huff man 法を組み合わせると同等の圧縮率が得 られるのではないかという考えから吉崎氏 によって発明された LZHUF 法を組み込んだ アーカイバです。 LHarc は LH113DJ.COM という自動解凍圧縮ファイルになっていま す。 LHarc の解凍は , LH113DJ を実行するだ けで完了します。 LHarc の使用法は , LHARC. DOC を参照ください。 LH Ver. 073 ( X68000 用 ) 158 CMAGAZINE 19 4 0 ◆ LH とは吉野智興氏が , NIFTY-Serve, FOS9 の MIYAZAKI 氏の OS9 / 6809 用 LARC をリライトし , GCC でコンパイルし たもので , MS-DOS の LHarc で圧縮された ファイルも展開できます。 LH の解凍も LH X を起動するだけです。 使用可能ディスク容量が 70K バイト以上ある ディスクを用意し , LH X. R をコピーしま す。コピーしたドライプで LH X を実行して いただくと , カレントディスクのカレント ディレクトリに LH. DOC と LH. EXE が解凍 されます。 LH. DOC を、・ 一言冗のつえご使用 ください。 MELWARE Ver. 4 MELWARE は , 従来のバンク切替式メモ リポード / PC 本体内部などのプロテクトモー ドメモリ / 各社の EMS ポードなどでも , 単独 / 混在して使用できる EMS ドライバです。 MELWARE Ver . 4 は MELWARE . LZH というファイルに圧縮されているの で , 解凍して MELWARE のディスクをつく る必要があります。解凍の方法 , 解凍後に できるファイルのことや , 簡単設定プログ ラムの起動については , ⑤の README をご 一ください。 ロノし 〇著作権について MELWARE にかんする著作権 ( オンライ ンマニュアルを含むすべて ) は株メルコが所 有しています。 〇サポートについて 今回の本誌付録の MELWARE はバージョ ンアップサービスを行っておりません。あ らかじめご了承ください。また MELWARE に関してのご質問は株メルコでは受け付け ておりません。本誌付録の MELWARE に関 するご質問は , 使用環境 , 使用状況 , ご質 間の内容を明記のうえ , 書面にて C マガジン 編集部まで郵送ください。 本誌掲載プログラム サプディレクトリ \ CMAGA の下に記事別 のディレクトリがあり , それぞれの記事に 関するプログラムを収めました。 : 投稿プログラム : インフォメーション : パフォーマンスアナライサ : 初級 C 言語講座 : Boyer-Moore 法 : 応用 C 言語 : C 十十プログラミング RUNTIME : ランタイムライプラリ入門 : C コンバイラブログラミング : 超高速グラフィック : C 十十デバッギングクラス : 文字列でインデクスする配列 : C による漸進的な文字列探索 TOUKOU INFO INSIDE STARTC BMS OUYOU SCCP YACCP LINE DEB ARRAYS SEARCH 「ディスク」係 株日本ソフトバンク C マガジン編集部 26 井関ピル あて先〒 102 東京都千代田区九段南 2 ー 3 ー までお寄せください。 なにかよい方法がございましたら , 編集部 前向きに検討していく所存です。皆様方に の種類など ) がありますが , 編集部としては ィアサイズ , メディア容量 , フォーマット 付録ディスクに関しては種々の問題 ( メデ お詫びいたします。 皆様にご迷惑をおかけいたしましたことを 編集上の都合により収録を見合わせました。 所録を収録するとの表記がありましたが , 予告をよび付録のパッケージにおいて住 【お詫び】 す。 Ver. 1.01 と GCC Ver. 1.31 で行っていま た。プログラムの動作チェックは XC コンパイル可能なプログラムを収録しまし ' こには XC(X68000 用 Ccompiler) で リの下に YXC というディレクトリを設けま また今月号より , 記事ごとのディレクト 事と REAME を参照してください。 おのおののプログラムについては関連記
O プログラミングの 落とし穴ャ ベル研究所の研究員である著者は、 ・コーニッグ著 年以上も 0 でプログラムを書いた経験から一般 中村明訳 的でなく特殊な例を多く取り上げ、なぜ 0 の専 門家でさえもプログラムの「落とし穴」に落ちる <LO 判 / 176 頁 のかを説き、プログラマの日々の悩みであるデ 定価 QJOOO 円バッグの問題を解決しようとしている。 Reader's モニタブレゼン 綴じ込み葉書でこ応募ください。 BAS ℃拡張関数バッケージ C COMPILER PRO-68K 3 本 C 讎吾ライプラリっき 3 セット ( X68000 用 ) ( X68000 用 ) 提供 : 株計測技研 提供 : 株シャープ P808 SIC 衄羹数バカージ c ”万丿→ 第・・ 6 る加 6 Turbo PASCAL Ve 「 . 5.5 / C マガジン特製テレフォンカード 10 枚 3 本 ( PC -9800 用 ) 提供 : C マガジン編集部 提供 : 株ボーランドジャパン 1 9 月 18 日創刊 毎月発売 SOFT GAZINE " C 言語プログラマ 船キガジン 術情報な く好評発売中〉 プログラミンク言語 AWK A. V. 工イホ他著足立高德訳定価 3 , 400 円 C 十十 : オプジェクト指向 プロクラミング 日 . ウイナー他著前川守訳定価 3 , 200 円 プロクラミング言語 C 十十 日ストラウストラッ斎藤信男訳 定価 4 , 017 円 定価は全て税込価格てす。 株式会社トッ / ヾン 〒 101 東京都千代田区神田駿河台ト 6 お茶ノ水スクエア 価 ) 3 ( 四 5 ) 61 代 FAX ( 四 3 ) 5 3 Computer LANG UAG E じ、募の注意 1 冊 ◇綴じ込み葉書に必要事項を記入のうえ郵送 提供 : C マガジン編集部 ください。①アンケートの回答②住所③氏 名④電話番号⑤希望プレゼント番号を明記 してください ◇記入もれやプレゼント番号が複数記入され ている場合 , 綴じ込み葉書以外でのご応募は 無効とさせていただきます。 ◇プレゼントに当選された方には , 後日アン ケートなどの形で編集にご協力いただくこと があります。ご了承ください。 ◇締め切りは 4 月 20 日 ( 必着 ) です。 あて先〒田 2 東京都千代田区九段南 2 ー 3 ー 26 日本ソフトバンク 「 C マガジン」編集部モニタブレゼント係 GUAGE 第 4 、一 1 婦 5 物ーー ロ A 一駅画ー 0 ・ . Reader's Room 157
C-MAGA 今回のバージョンアップにより , NEC PC 高機能漢字端末工ミュレータ「 N EXU S 」 ー 98 シリーズとその互換機 , AX'€ソコン , ライフボート 東芝 J ー 3100 , J ー 3300 シリーズ , IBM PS/55 シリーズに加え , 新たに富士通 FMR , FM ライフポートは高機能漢字端末工ミュレ ー TOWNS シリーズに対応した。 ータ「 NEXUS 」を発売した。 日本語 Brief は , 5 インチ , 3.5 インチの両 NEXUS は VAX/VMS や各種ワークステ メディアがセットて供給されており , 機種・ ーションの端末としてパソコンを使用する ためのものて , DEC の端末 VT ー 100 の動作を メディアを問わないエデイタとして定評が 完全にエミュレートし , 工スケープシーケ ある。日本語 Brief Ver. 2.1 ー JI. 0 ユーザに ンスをサポートしているため , パソコンを は , FMR, FM-TOWNS 用ドライバを 1 , 000 円て供給する。 ワークステーションの端末として有効に活 また , 英語版 Brief Ver. 3.0 の販売も開始 用てきる。 する。 く価格 > 「 NEXUS 」 98 , 000 円 く価格 > 日本語 Brief Ver. 2.0 ー J2.0 間合せ先ライフボート 〒 101 東京都千代田区神田錦町 3 ー 6 ・・・ 48 , 000 円 英語版 Brief Ver. 3.0 TEL 03 ー 293 ー 4717 シンフォニーは MS-Windows, OS/2 の PM MS-DOS 用 34 , 000 円 の API ( アプリケーションプログラミングイ OS/2 用 ・・・ 45 , 000 円 MS - C 用の C 言語関数ライプラリ ンタフェイス ) の使い方をやさしく解説した 問合せ先日本システム立川事業 佐藤システム設計 サンプルプログラムソース集「 SALT 」 , 〒 190 東京都立川市曙町 1 ー 18 ー 2 佐藤システム設計は , C 言語関数ライプラ 「 SUGER 」を 4 月より発売する。 TEL 0425 ー 23 ー 4469 イベント駆動によるウインドウを用いた リ「ビジネス C ルーチン BCR-ISAM 」を発 GUI ( グラフィックューザインタフェイス ) 環 境を API を用いて構築するためには理解しな BCR-ISAM はインデックスファイル関 くてはならない重要な概念がいくつもある 数 , データファイル関数など , MS-C 用の ( メッセージ , ウインドウクラス , ウインド ISAM ファイル関数ライプラリて、 , ソースコ ウブロシージャ , ウインドウスタイル , ウ ードっきの C 言語関数ライプラリ。 インドウハンドル , メッセージループ , ダ インデックスは B 十ツリーと可変長キー方 イアログボックス , リソースなど ) 。 式を使用。可変長・固定長文字列 , 数値な 「 SALT 」 , 「 SUGER 」て、は , ただウインド どすべてのデータタイプに適応てきる。 ウを開くだけのものから , 徐々に高度にな また , データファイル関数は可変長文字 るサンプルプログラムを使い , 概念やプロ 列をサポートした。データ項目数 , レコー ド数 , レコード件数の制限は実質的にはな グラミングテクニックを解説している。 く使用言語 > MS-C Ver. 5.1 PC ー 9801 シリーズ く価格 > く対応機種〉 SALT for 日本語 MS-OS/2 Ver. 1.1 く対応言語〉 MS-C Ver. 5.1 48 , 000 円 く価格〉 38 , 000 円 問合せ先佐藤システム設計事務所 〒 112 東京都文京区小石川 5 ー 18 ー 6 マウンテンコーポ 404 号 TEL 03 ー 947 ー 1964 M S-Windows, PM の A 円をやさ区解説 シンフォニ 匸戸 1 ef 当 146 CMAGAZINE 19 4
1990 年 4 月 1 日発行 ( 毎月 1 回 1 日発行 ) 第 2 巻第 4 号通巻 7 号 1990 年 2 月 2 日第 3 種郵便物認可 ー ~ 。。。 4 。℃ ONTENTS BStroustrup(l) c →の生みの親 Programmng onPurpose Abstract it 』 PJ PDS 最新レポートく第 5 回〉ブック型ノヾソコン特集野口雄平・ Book Review C による漸進的な文字列探索 COMPUTER LANGUAGE 提携記事 An lncremental String Search in C COMPUTER LANGUAGE 「文字列でインテクスする配列」を C 十十で実現 提携記事 String-Indexed Arrays in C 十十 lntroduction of COMPUTER LANGUAGEANALYSIS &DESIGN C 十十のテパッキングラス A Debugging Class for c + + 0 1 2 2 2 特別インタピュー 新連載 ・ 29 COMPUTER LANGUAGE 提携記事 特集 35 ANSI C の現状 42 Part1 ANSI C 概 fi/Part2 ANSI C と日本語処理の課題猪瀬武久野田誠 超高速クラフィックライプラリライン関数の最適化高村誠之 63 One Point Edition yacc による C コンヾイラブログラミング第 7 回〉式のコード生成近藤嘉・・・・ 74 C コンヾイラの内部を詳解 c プログラマのためのランタイムライプラリ入門 新連載 82 く第 1 回〉低水準ファイル入出力関数秋津彰文 C 十十プロクラミンク入門く第 4 回〉クラスの設計と実装 2 小山裕司・正畠克俊・・・・・ 99 実践 C プログラマ養成講座く第 7 回〉 c 言語と 応用言き吾く第 5 回〉キーボード入力プログラムの作成 1 ) 高橋良明 恥すかしなからドジりましたく第 5 回〉ズホラへの罰岩谷宏 C 言語フォーラム はじめて学ぶ C プログラミング第 6 回〉ライプラリ関数高木聡 / 山崎信行・ C 言語入門講座 Pa 1 GNU 奮闘記く第 1 回〉 GNIJ と g 十十と X68000 吉野智興・・ Conference Room part 2 高速化とパフォーマンスアナライサ野口修男 p 耐 3 投稿プロクラム線形リストライプラリ川場隆 p 耐 4 Boye 「一 M00 「 e 文字列検索アルゴリズム阿波浮生 C-MAGA News Square lnformation from Compiler Makers ・・ Reader's Room 付録ティスクの内容 B00k Shop Report EDITOR'S ROOM ・本記事中のプログラム名 , システム名 , CPU 名は・般に各メーカーの登録商標て・す。本文中て・は TM, ⑩マークは明記していません。 ・本誌に掲載されたすべてのプログラムは作権法 l•. 個人て・使Ⅲする目的以外て無断て複製することを禁じられています。 表紙・イラストレーション・秋山育 / デザイン・持田哲 三田典玄の ・・ 106 ・・ 11 0 ・・・ 118 ・ 120 ・・ 131 135 ・ 139 ・・ 143 ・ 145 ・ 148 ・ 155 158 ・ 159 ・ 160
0 の •V 高速・コンパクトなコードを生成 レジスタの最適自動割り付け レジスタによるパラメタ渡し アセンプリ言語の埋め込み記述可 ANSI 準拠・プロトタイプ宣言を完全サポート ターゲット CPLJ : 8080 / 8085 / Z80 / 64180 ■ CP / M 版セルフ CP / M -80Ve 「 . 2.2 以上、メモリ 60K CP / M 以上必要 ・ MS - DOS 版クロス アセンプラ・リンカ付き コンパイラ・ドライバ UN Ⅸコンパチ・プログラム保守ツール make ライプラリ、コンパイラ・ドライバ、プリプロセッサのソース付き MS-DOS Ver. 2.11 以上、メモリ 384KB 以上必要 近日発売 LS ℃ -80 ( MS - DOS 版クロス ) のソース・レベル・クロス・テパッガ LDB-80X ・ LS ℃ -80 で開発したプログラムを、 MS-DOS 上 ( PC -98 ) でソース・ レベ ) レテ / ヾッグ ・操作性に優れたウインドウ指向テパッガ ■ UN Ⅸ版クロス NEWS Sun-3 ・ VSXY リース、 Kurama ・・ SX -9100 シリーズ、 LUNA HP9000 モデル 300 シリーズ )station 200 ・ MicroVAX ・ VAX -11 ・・ ※その他の機種については、こ・相談に応じます。 LS ℃ -80 ・ Y98 , 000 円 ・ Y98 , 000 円 セット価格 128 , 000 円 ・ Y398 , 000 円 ・ Y398 , 000 円 V 398 , 000 円 ・ Y398 , 000 円より ・・ Y398 , 000 円より ・ Y398 , 000 円 ・・ Y498 , 000 円 ・・ VI , 280 , 000 円 Y48 , 000 円 LS ℃ -86 ターケット CPLJ : 8086 ROM 化ツール標準装備 far ・ near キーワードをサポート UNIX の cc と同様の使いやすいコンパイラ・ドライバ UN Ⅸコンパチ・プログラム保守ツール make ライプラリ、コンパイラ・ドライバ、プリプロセッサのソース付き アセンプラ付き MS-DOS Ver. 2.11 以上、メモリ 384KB 以上必要 ・取扱店 会社・諷 - 広 - 工ル・エス・アイジャパン株式会社 〒ー引東京都渋谷区千駄ヶ谷一丁目 8 番号 〒刪東京都千代田区外神田同 0 ーⅡ東京ラジオデバート 3F TEL ( 03 ) 404 ーロ代・ FAX ( 03 ) 478 ー 0576 TEL ( 03 ) 255 ーロ 53 代・ FAX ( 03 ) 255 ーロ 98 ※標示価格に消費税は含まれていません。 ※ CP/M は Digital Reseach lnc. , MS ・ DOS は Microsoft corpo 「 ation のそれぞれの登録商標です。 UNIX は Bell Labo 「 ato 「 ies の米国内での登録商標です。 その他、商品名は各社の商標です。 ※ LDB ー 80X は京都マイクロコンビュータ株の商品です。 ・開発・発売元