UNIX - みる会図書館


検索対象: 月刊 C MAGAZINE 1990年4月号
28件見つかりました。

1. 月刊 C MAGAZINE 1990年4月号

SOFT BANK ・ Turbo C の奥義を示す Tu 「 bO C Ve 「 20 プロクラミンク 基本操作はもちろんのこと、内部処理の角斤をはじ め、 BGI の活用方法などト . 級操作も詳細に解 井上哲雄・酒井恵光・佐藤隆共著☆定価 2 , 900 円 ・初級 C 言語講座 PIay the C ( 上・下 ) C を身につけたい、これまて、の解説書て、はもの足り ない、そんな要求に応え C の世界を系統的にとらえ直 本青比古著☆定価各 1 , 550 円 して解説。 ・ C 言語の秘められた能力を解き放つ C プリプロセッサ・パワー C 言語の中て、も、とりわけ秘められたパワーをもっ プリプロセッサ機能の潜在能力を使いこなすにはどう すればよいかを解説。木昶青比古著☆定価 2 , 270 円 ・はじめての Turbo C プログラミンク Tu 「 bO C 入門 初心者にとってなじみのうすい「 TurboC 開発環境」 をたくみに解説しながら、具体的て示唆に富んだ用法 ニ 林晴比古著☆定価 2 , 680 円 をも満載。 ・最新 ANSI C 標準規格に完全対応 詳説 C 言語 H & S リファレンス C 言語プログラマから高い評価を受けている「 C : A Reference M 田 ulal 」第 2 版の完訳。 S ・ハービソン & G ・スティール共著☆定価 4 , 500 円 ・ MS ー C 活用の王道を示す MS-C Ve 「 .5.1 プログラミンク 基巣作からコンパイラの内部処理まて詳細に解説。 最童化のための手法、 ANSI 準拠のプログラミング作 法なども紹介。石田秋也ほか著☆定価 3 , 300 円 ・ Quick c の本格活用を示す QuickC プログラミング 工ディットからコンパイル・実行まて、の統合環境を 備えた「 QuickC 」の本格的入門ル 野口雄平・池田・中島昌ニ共著☆定価 2 , 680 円 ・ C STEP IJP シリース① 上級・ C 言語の応用 50 例 画面制御騙、ディスクドライプ制御騙ほか大きく 4 つに分け、それぞれくふうを凝らしてフログラムを作成。 上原・中山・石田・井上共著☆定価 2 , 480 円 ・ C STEP UP シリース② C 十十プログラミンク 今話題の言語、 C + + の本格的入門書。本書の各項Ⅱ をカード別にまとめ、サンプルリストや図版を豊富に 掲載。門内淳・赤堀一郎共著☆定価 2 , 680 円 ・ BAS ℃からのアプローチ C 言語の活用理解 具体例を数多く取り上げ、 BASIC の知識を有効に 利用しつつ、 BASIC から C へ順次移行て、きるように 保坂光・若林淳共著☆定価 2 , 060 円 解説。 ・基本からのアプローチ C 言語の基礎知識 短いけれど実用的なサンプルプログラムを紹介しな がら、 C 言語の基礎知識を解説しています。 門内淳・乗呆智・上原哲郎共著定価 2 , 500 円 ・実践からのアプローチ C 言語の応用 50 例 C 言語を使い 98 ー E て、どのようなプログラムが作れる のかを、豊富なサンプル例によって示しています。 上原・石田・乗松・中山・高木共著☆定価 2 , 370 円 はいーロ グ ? ツ UNIX ・はじめてのシェルプログラミングから IJN Ⅸ応用まで IJN Ⅸオペレーティングガイド UNIX の基礎知識から、シェルプログラミンク : MA CSYMA 、 s について豊富な例を用いながら紹介した 渡辺・岸本・佐藤共著☆定価 3 , 090 円 入門ル UNIX System V プログラマ・ガイドリリース 3.1 、ロ卩ロ、ア、パ、ツグ、オプ System V ReI. 3.1 について二・ ジェクトの操作等に関連するユーティリティ類および 定価 12 , 000 円 データ構造について解説。 UNIX System V ユーサ・ガイドリリース 3.1 UNIX System 環境の要素として有名なシェルや ⅵ、 ed 等の各種ェデイタおよび電子メールなど例を 示して解譓 定価 9 , 800 円 ☆印は税込み、無印は税抜きの定価です。 C 言語の応用 50 例

2. 月刊 C MAGAZINE 1990年4月号

てきるのて℃らしいトリッキーな記述が可能 になっています ( 元来 , 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 コンバイラ本体 ジャ ー - ノレ

3. 月刊 C MAGAZINE 1990年4月号

List 2 1 : #include く stdio. h> 2 : 3 : void main( void ) { printf("l 4 : like The 1 ike The C Magazine. List 3 1 : #include く stdio. h> 2 : 3 : VO i d ma i n ( VO i d ) { fprintf( stdout, 4 : List 4 1 : #include く stdio. h> 2 : 3 : void main(void) { fprintf( stdprn, 4 : List 5 1 : #include く stdio. h 〉 2 : 3 : vo i d ma i n ()o i d) { fprintf( stderr, 4 : like The like The C C C Magazine. Magaz ine. Magaz ine. / * し attice C では , stdprt * / グラムの実行時には , stdin( 標準入力 ), 122 CMAGAZINE 19N 4 への入出力は , ポインタの説明が終わった して扱うのて注意してください ) 。ファイル UNIX などては , 入出力すべてをファイルと などに書き込んてあるファイルのことてす。 せん ( ここていう「ファイル」とは , ディスク ファイルへの入出力についての説明はしま いのて、 , ここてはポインタの知識が必要な まだポインタについての説明をしていな たとても重要な概念てす。 の概念てすが , MS-DOS にも取り入れられ い ) 。ストリームというのは , もともと UNIX stdprt) などもあります (UNIX 上にはな stdprn ( 標準プリンタ出力 : Lattice C ては います。また , MS-DOS 上の C 言語には , カ ) の 3 種類のストリームはオープンされて stdout( 標準出力 ) , stderr ( 標準工ラー出 後に取り上げる予定て、す。 数の説明をしましよう。 ① fprintf それて、は , 各関 printf については , 今まて、何度も出てき ましたし , 詳しい説明もしました。それと よく似た関数に , fprintf というのがありま す。これは , 先に述べたストリームへの出 力をする関数てす。書式は List1 ー①のように なります。 こて、 , F 工 LE *stream のところにスト リームを指定し , const char * format 以 下のところは printf と同じ引数を指定しま す。また , 戻り値は転送したバイト数て、す。 工ラーの場合は , 負の数が返ってきます。 FILE * stream や const char * for mat が何を意味するのかは , ポインタの説明 をするときに , あわせて説明することにし ます。今のところは , ストリームは Tbl. 2 な どがあると思っていてください。これより , printf( ・・・・・ ) は fprintf(stdout, ・ ・・・ ) とま が , ここては省略します ( 実は , こうした使 しても , ファイルへのアクセスが可能てす 認してください ofscanf にしても fprintf に は , まったく同値て、す。 List6 を実行して確 と同様に scanf ( ・・・・・・ ) と fscanf(stdin, ・・ の場合は , EOF となります。 printf のとき 値は , 代入された入力項目数て、す。ェラー 点以外て、は , scanf と同じて、す。また , 戻り これも , ストリームからの入力だという 数て、す。書式は List1 ー②のようになります。 fscanf は , ストリームから入力をする関 ② fsca nf せることがて、きます。 えることによって , 各種デバイスに出力さ このように , fprintf は , ストリームを変 出力は , リダイレクトされないのて、す。 ァイルすらて、きない ) 。つまり , 標準ェラー は何も入っていません ( 処理系によってはフ うファイルはてきていますが , そのなかに とするとどうなるて、しようか ? TEST5 とい A > List5 > TEST5 りましたね。ところが , はずて、す。これと似たことは , 以前にもや 、、 I like The C Magazine. 〃になっている というファイルがて、きます。その内容は , すると , もちろんリダイレクトされて TEST3 A> List3 > TEST3 してみてください うのて、しようか ? まず , 以下のように実行 す。それて、は , stdout と stderr はどこが違 ると , List3 とまったく同じ結果になりま のが List5 て、す。これを , ただたんに実行す List3 のストリームの部分を stderr に換えた プリンタはつながっていないとだめて、す ) 。 List4 て、は , プリンタに出力されます ( 当殀 List3 のストリームの部分を stdprn に換えた は , まったく同じ結果になります。また , このふたっ List2 と List3 を見てください ったく同値て、あるということになります。

4. 月刊 C MAGAZINE 1990年4月号

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 除けば , 大きな違いはありません。

5. 月刊 C MAGAZINE 1990年4月号

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 は京都マイクロコンビュータ株の商品です。 ・開発・発売元

6. 月刊 C MAGAZINE 1990年4月号

C-MAGA ・・・ 48 , 000 円 SUGER for MS-Windows Ver. 2.1 問合せ先シンフォニ 〒 141 東京都品川区東五反田 1 ー 4 ー 1 TEL 03 ー 443 ー 0291 UNIX く対応 OS > MS-DOS, OS / 2 , MacOS, Sun ー 3 シリーズ , そのほかの UNIX マシン PS55 シリーズ , Macintosh, AX'€ソコン , く対応機種〉 NEC PC-98 シリーズ , IBM ・配列フィールドの問合せ可能 ・フィールドタイプの変更可能 ・ファイル再構築 ・ソースコードが利用可能 無料 ・ランタイム契約によりランタイム使用科 ・マルチプルデータベース ・レコード / ファイルのロック トランザクションのログと自動リカバリ ・マルチューザ / シングルューザのサポート ・高速データアクセスを実現 そのほかのおもな特長は以下のとおり。 うことがてきる。 のアプリケーションの移植作業も容易に行 C 言語て記述されているため , 異なる OS へ ールから構成されている。これらはすべて 「 db QUERY 」「 db-REVISE 」の 3 つのモジュ ータベース開発システムて、 , 「 db VISTA 」 db VISTA Ⅲはネットワークモデルのデ 本語バーションを発売した ロップメントシステム「 db VISTA Ⅲ」の日 アルゴテクノス 21 は , データベースデベ アルゴテクノス 21 C 工ンジニア向けテータベース「 db VISTAM 」 く対応コンバイラ〉 MS-C, Lattice C, LightspeedC ほか く価格〉 MS-DOS 版・・・ 10.8 ~ 27.8 万円 UNIX 版・・ 問合せ先アルゴテクノス 21 高輪営業所 DOS 再起動ユーティリティなどが組み込ま ている。また , ファイル管理ツールや MS- 込み操作が容易て、 , ヘルプ機能が強化され さらに使いやすくしたもの。ドライバ組み 「 IOS ー IOEMS / 386 」の機能をすべておさめ , 「 IOS-IO V2.3 」および EMS/RAMi•イスク IOS-IO Ⅱは同社の EMS/RAMi•イスク ノし 0 「 IOS-IO Ⅱ」を発志した 合型 EMS/BMS 専用サポートソフトウェア ンク , プロテクトの全メモリに対応した総 アイ・オー・データ機器は , EMS, I/O バ アイ・オー・テータ機器 全メモリ応したメモリサポートソフト日 0S -10 Ⅱ」 高輪中山ビル TEL 03 ー 473 ー 7432 〒 108 東京都港区高輪 2 ー 16-45 Turbo C, ・・・ 66.6 万円 ~ れている。 く価格〉 IOS-IO Ⅱ・ ・・・ 8 , 000 円 ( バージョンアップは 4 , 000 円 ) 問合せ先アイ・オー・データ機器 〒 920 石川県金沢市駅西本町 1 ー 5 ー 41 TEL 0762 ー 21 ー 4812 ー 0 S - ー 0 ーコマンド・メニュー ( ・ t. 田 ( ィーを月 - い 0 正一 8. ファイ ) し物理ユーティリティの MS ー DOS システムの再 ー OS ーー 0 ーのバックアップ ード第一ユーティリティの ドキュメント・ファイ外表示 田カー、ノれ メニュ -- レプのま示 ー渡モード表示 / ヾソコン レンタル はリースよりも、 サードウェープの でというお客様 ( ソフトハウス ) が増えています。 新製品の短命化、イ耐ヒ、 高性能化、軽量化は、日を追 って激レなツ、・ヶ月前の 最善のリネ購入契約が今と なっては悔やま。れる。リース 残存期間の ? 午を契約に束縛 されてしま、と嘆息される方 が、増えてします。 リース月額とレンタル月額を 比較される方がいらっしゃい ますが、ドはリー ' が含まれいま。す外またリー ス満了時まチ・、非能率と故障、 それ。 = 伴ら貨イ , 、 = , 、 長時間労働と、うョスクも内 包してるのです レンタル金には、最新機種、 最適処理こ数障時の代替品等 による安心料、仕事の正確さ、 労働時間の短縮という高付加 価値が包含されています。 ①契約、延長、解約、購入切り替え 等、電話一本如 ②設定期間は 10 日間より自由設定 ③故障時には代替急送等全面保証 ④機種変更して割引率変動なし ⑤取扱機種 / N マッキントッ 1 オみみ。光デな , ク、大 シュ、 ードデネズ = グ、物トリー イト - 里 . ノ、 、モデム等周辺機 ーご相談下さい。営業マンがお伺い します。 中古専門店 UP ' S レンタルバック中古良品、 中古ソフト、品揃え豊富。 画 THIRDWAVE 〒 101 東京都千代田区外神田 4-4-2 山田ビル 7F レンタル事業部 容 03 ( 257 ) 4683 C-MAGA News Square 147

7. 月刊 C MAGAZINE 1990年4月号

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 歯教仕機表

8. 月刊 C MAGAZINE 1990年4月号

展しはじめた。さらに この年に開催され た SC22 総会で , 今後プログラミング言語の 規格案に各国語化機能を必ず盛りこむとい うリゾルーションが出るにおよんで , 機運 が盛り上がりはじめた。 日本の C ワーキンググループも , 二度にわ たって , 日本側の案の採用を ISO の SC22 / WG14 および ANSI に提案している。 その後 , DP 投票が 88 年のはしめにあった が , これはまだまだ検討しなければならい 問題が多々あるという理由で否決され , 再 び成立には至らなかった。日本も反対投票 している。 また , 89 年初頭に ANSI / X3 での投票があ ったが , コメントの回答に不備があるなど の問題が指摘され , 長い時間をかけて調整 していたが , 89 年 12 月 14 日付でやっと ANSI の C として処理することが承認されるにおよ んだ。コメントなどの反映版が , 90 年 3 月末 ごろ正式に ANSI C として出版される見込み といわれている。 ISO の SC22 においても 89 年に , 同仕様に 対して DP 投票が行われた。日本としては , 条件 (ANSI C と必す一致させること , およ び編集上の誤りの指摘 ) つき賛成ということ で賛成票を投している。 基本的に反対 0 で DP は可決された。現在 の ISO の C は DIS 投票中の状態で , 12 月 21 日 から 6 月 21 日までが郵便投票期間である。 現在 , 日本の C ワーキンググループは ISO の C の補遺として , 昨年から作成してきたマ ルチバイト機能の拡張案を付加をするよう ISO のほうに提出したところである。 すでに述べたとおり , 85 年に日本語 UNIX システム諮間委員会が発表した諮問案がさ まざまな組織の日本語処理の原型になって いる。 AT & T も JAE2.0 , 最近は MNLS3.2 にな っているが , やはりこの諮間案を元に討議 さまざまな提案 電子協 / 言語標準化専門委員会 をかさね , 発展させている。 一方で , これはシステムにもインブット されて , システムの日本語機能のべースに もなっている。 私たちがマルチバイト機能の拡張に関す るドラフトを作成するにあたっては , 日本 の SC22 の C ワーキンググループのさらに下 にサプワーキンググループを発足させて , X/Open, UNIX インターナショナル , OSF, JUS などの国際化機能に関心をもつ さまざまな組織の国内の関係諸氏の参加を いただいている。少なくとも日本での , 特集 AN 0 の現状 れまで説明したような経緯から誕生したノ ウハウとコンセンサスを , 集約する形で運 営されている。 もちろん , 日本 C 言語委員会のおもだった メンバの方々の参加もいただけるようにな った。また , 電子協にも ANSI C ドラフトの 翻訳作業を中心とした言語標準化専門委員 会があるが , 同委員会で提出されたコメン トも , SC22 / C ワーキンググループで審議の うえ , 情報処理学会の SC22 を通して提案さ れている。 AN C 国際化機能の現状 ANSI の国際化機能を大別すると , ①マルチパイト文字の扱い ②地域化導入のメカニズム のふたつに分けることができる。 ます①の問題について考えてみたい マルチバイト文字の扱い 文字集合の拡張 ますマルチバイト文字の扱いだが , 基本 こでは , 基本的に ANSI C の概念は この拡張部分に入るということになる。 であって , 日本語のような多バイト文字も ロケールスペシフィック ( 地域固有 ) 追加した部分は , を作ることができる。この拡張文字集合を 拡張文字集合 語のような文字を含めて , 字になってる ) を含み , さらに処理系は日本 要な基本文字集合 ( これは 1 バイトで表す文 字集合 , 実行文字集合ともに高語疋義上必 タセット ( 実行文字集合 ) がある。ソース文 ス文字集合 ) とエグゼキューションキャラク 的に言語にはソースキャラクタセット ( ソー コード系から独立 特集 ANSI C の現状 いうが , それをみな同し長さの配列として 成される文字を含めてマルチバイト文字と ァベットなど ) , および複数のバイトから構 は , 1 バイトの文字 ( A , B ・・・・・・というアルフ いわゆる ANSI C でいうマルチバイト文字 オプジェクトとして扱ーイド文字 マルチバイト文字を同一長の うことができるようになるのである。 のように , マルチバイトをバイト単位で扱 ” This is 漢字” イト文字が書けるようになる。たとえば , さらには , 文字列リテラル中にマルチバ #include ”日本語ヘッダ " ダファイル名に日本語が書けるようになる。 が書けるのだろうか。ますコメント , ヘッ ではどういうところにマルチバイト文字 マルチバイト文字か書ける場所 いうことで作り上げられている。 定のコード系を仮定するのはやめよう」と ているが , そういうものも対象にして , 「特 コードには , 工スケープシーケンスが入っ くのメインフレームが使っているような JIS ということを原則としている。たとえは多

9. 月刊 C MAGAZINE 1990年4月号

とくにありません。 C の設計 目標のひとつに , どの環境て、も動作し , し かもそのアーキテクチャに近くということ があります。 C 十十もこの面て、は同様て、す。 C 十十はある意味て、 , マシンモデルの上部構 造になっています。 C のマシンモデルをもち ながら , プログラムするモデリングのレベ ルがはるかに高いのて、す。 IBM システム 370 などにあるレジスタバン クがとくに好きなわけて、はありません。私 の考えているレベル , すなわちプログラマ のレベルて、は , あるマシン用によいコンパ イラを書けることさえわかっていれば , コ ンパイラのコードジェ不レータ部分を書く のがたいへんかどうかは大した問題にはな りません。なぜなら , それを得意とする人 は大勢いますから。 そうするとあなたの視点では , モトロ ーラ 68000 対インテル 80386 とか , RISC 対 CISC の問題には興味はありませんか ? Stroustrup ありません。しかし , この業 界の出発点て、あったもうひとつの仕事 , す なわちハードウェアアーキテクチャへ戻っ てみるならば RISC が好きて、す。 なぜでしよう ? Stroustrup 言語システムプログラミング をサポートする高級アーキテクチャを求め ていましたし , いくっかのことが始終起こ っているようて、した たとえばある言語にすばらしいサポート をすれば , ほかの言語へはよいサポートを しなくなる傾向になるということて、す。 ローズの 6700 シリーズは美しいマシンて、し た。 A1g01 へのサポートは最高て、 A1g01 コン パイラもベストて、す。しかし , いってみれ ばそのことが原因て、あのマシンは消え去っ たのて、す。原因は良質の FORTRAN や COBOL まて、はサポートて、きなかったからて、 す。特定のオペレーティングシステムへの 良質のサポートをハードウェアにたくさん 組み込んて、しまえば , ほかのオペレーティ Stroustrup 14 CMAGAZINE 19 4 ングシステムはよいサポートを受けられな いのて、す。 また , 私は移植性を大事にしています。 次世代マシンを使いたいのて、す。同じ会社 の製品かどうかは気にしません。て、すから , UNIX によってアーキテクチャ間を移動て、き ることになります。 UNIX 自体は想像以上に 移植性が高いのて、す。特殊なものだけに有 効な専用化は好きて、はありません。専用化 した道具類をもつものは作成するのに時間 がかかります。そして設計に長時間を要す るのて、販売されるまて、に時間がかかり , 最 新のテクノロジーを使っていないし , 専用 化したために購入者は少ない こと は汎用チップ , つまり CISC て、はなく RISC の 要求が大きいことを意味しています。それ は汎用 , すなわち RISC の作成者のほうがよ いツールを手に入れられることになります。 というのは , ューザ数は多いし値段も安い て、すから。専用化した高レベルのファシリ ティをハードウェアへ組み込んて、しまえば , 自らを窮地に追い込むことになるのて、す。 しかしテクノロジーの進歩がスローダウ ンして , チップのパフォーマンスが年々向 上しなくなったら , もちろんハードウェア をうまく使ったり凝った設計が再び一般的 になるて、しよう。しかし現在の状況はそう なってはいません。したがって私の意見は 過去 20 年間のコンヒ。ューティングの歴史を 反映しているのて、あって , 技術的なファク タによって変化することもあります。 ハードの 進化と言語 あなたはハードウェアがひじように高 価なときには , 創意に富み経済的にも合う とつねづねおっしやっていますね ? Stroustrup はい。とに創意に富んて、い て , ほかにだれもよりよい世代のチップを 発明て、きない場合はそうて、す。しかし , 過 B. Stroustrup C 十十の生みの親 去 10 年程度の歴史を見てみると , だれかが 独創的なチップを作るたびに , ほかのだれ かがシンプルなチップて、 2 倍のクロックを実 現しています。 机上にあるコンピュータバワーはおよ そ 5 年で 1 0 倍程度のスピードで向上ていま す。 100M 旧 S のデスクトップも珍しくなく なるということです。 Stroustrup そのとおりて、す。 このこともコンパイラの作成方法とか 言語の進化方法に影響をもたらすのでしょ うか ? ードウェアの進歩を見るに Stroustrup つけ、、そうなるはずだ〃といいますが , 過 去を振り返り , この 10 年間て、何が起こった かを見てみると同じ主張が 10 年前にもあて はまるのがわかります。実際には大した変 化は起こりませんて、した。 私たちの期待だけがハードウェアのパフ ォーマンスより速いスヒ。ードて、拡大するよ うて、す。 10 倍に高速化したマシンに搭載し た洗練されたソフトウェアが糖蜜のごとく スヒ。ードを下げる。そのソフトウェアが期 待以下のスピードて、しか実行しないのて、 , ードウェアのスヒ。ードが高速になったに ノ、 もかかわらずレスポンスが低下します。し たがって効率的なソフトウェアは依然必要 だし , そのためにはよい言語と効率のよい 基本ツールが必要て、す。そうて、なければハ ードウェアのスヒ。ード向上分をすべて食い つぶしてしまうからて、す。ソフトウェアは ードウェアが高速になった分をすべて食 いつぶしているようて、す。開発者が、、ハー ドウェアは安価になっている。気を使う必 要はない。スマートてある必要はない。 ( ク ロック ) サイクルをもっと使えばいいんだ〃 というのも原因の一部て、す。しかしユーザ はもっとファシリティを , もっと便利さを ほしがります。そのためにはソフトウェア は複雑になり , 複雑なソフトウェアはもっ とサイクルが必要になります。

10. 月刊 C MAGAZINE 1990年4月号

ところで , ②と③のセクションには , 基 本となるドキュメントが存在する。②に関 しては , デニス・リッチーによる「 The C Reference Manual 」がある。これは , ベル 研で数年にわたって使用されてきたもので , K&R 本の Appendix A に収録されているも のと同しである。また③に関しては , UNIX のシステムユーサグループである /usr/group による「 1984 /usr/group Standard 」があ る。このなかでは , どのような C の環境でも 1989 年 7 月委員名簿より ) ( 情報処理学会規格調査会 Fig. 3 旧 0 刀 EC JTC 1 Structures 使用できるようなライプラリ関数が記述さ れてある。 ANSI では , これらのドキュメントをベー スに , 先はど示したソフトウェアベンダー コンパイラメーカー , 技術者 , 学者などの 意見を取り入れ , 討議を行っている。 討議の結果はドラフトとして「 X3J11 / 年号 ー通番」という文書番号をつけ , 管理してい る。委員会は年に 4 回はど開かれ , ドラフト に対する討議をかさね , 仕様書の改訂を行 JTC 1 Chair/Secretariat USA っている。数あるドラフトの版で , 重要な のはいうまでもなく 1988 年 12 月 7 日の最終案 であろう。なぜならば , 1989 年 12 月に ANSI で正式に承認されたドラフトは , これとま ったく同一の内容だからだ。本来は , もっ と早く承認されるはすだったが , 一部の反 対や手続き上のミス , トラブルなどによっ て延び延びになってしまっていたのである。 ドラフトの履歴は , TbI. 1 (ANSI ドラフト の履歴 ) に示したとおりである。 Germany Support Systems Vice Chair Vice Chair Equipment & Media Japan SC22 l-anguages Canada Vice Chair Systems U SA JTCl/Advisory Group SCI Vocabulary France 46 CMAGAZINE 19 4 SC7 Softwa re Develop. & Sys. Canada Vice Chair Application Elements France SC 14 Represent. Data Elements Swed en U SA SCII Flex. Mag. Media fo 「 Dig. Data lntch ng. U SA SC 1 7 ldentifon. Cards & Related Devices SC23 OpticaI Disk Cart 「 idges fo 「 fo. lntchng. Japan SC28 0 幵 i ce Equip. Switz . APPL ℃ ATION ELEMENTS EQUIPMENT & MEDIA