日本語 DEC FUSE リリース・ノート 1997 年 6 月 本書は,日本語DEC FUSEおよびオプションのC++ツールの リリースノートです。 改訂/アップデート: 本書はバージョン3.1 のリリースノートの改 訂版です。 ソフトウェアバージョン: 日本語DEC FUSEバージョン4.0 オペレーティングシステム Digital UNIX バージョン4.0以降 バージョン: 1997 年6 月 本書の著作権は Digital Equipment Corporation (DEC)が保 表は DEC の文書による許可なしに,その全体または一部 を,いかなる場合にも再版あるいは複製 することを禁じます。 本書の内容は,本書に記載された方法に従って DEC 製品 を使用することが現在および将来にわた って特許権を侵害しないことを保証するものではありま せん。また,機器やソフトウェアの作成・ 使用・販売のライセンスを供与することを意味するもの でもありません。 本書で解説するソフトウェア(対象ソフトウェア)は, 所定のライセンス契約が締結された場合 に限り,その使用あるいは複製が許可されます。 本書に記載されている事項は,予告なく変更されること があります。また,万一,本書の記述に 誤りがあった場合でも,弊社では一切その責任を負いか ねますのであらかじめご承知おきください。 (c) Digital Equipment Corporation. All rights reserved. 本書の巻末には,本書に対する読者の皆様のご意見をお 伺いするための料金受取人払いの返信用 のはがきが綴じ込んであります。この返信用はがきは, お気付きの点をご記入のうえご投函くだ さい。皆様の貴重なご意見は,今後のマニュアル作成の 際に参考とさせていただきます。 AlphaGeneration, AXP, DEC, DEC C++, DECnet, DECwindows, Digital UNIX, および DIGITAL ロゴは Digital Epuipment Corporation の商標です。 NFS は Sun Microsystems, Inc.の登録商標です。 OSF/Motif は Open Software Foundation, Inc.の登録商 標です。 PostScript とDisplay PostScriptは Adobe Systems, Incorporated の登録商標です。 ClearCaseとAtriaはAtria Software, Inc.の登録商標です。 UNIX は X/Open Company Ltd.がライセンスしている米国 ならびにその他の国における登録商標です。 X/Open は X/Open Company Ltd.の商標です。 MS-DOS および MS は Microsoft Corporation の登録商 標です。 X Window System Version 11, X, X11,および X Version 11 は Massachusetts Institute of Technology (MIT)の 商標です。 本書は CD-ROM で提供されます。 目次 まえがき vii 1.1 FUSE V4.0の新機能の要約 1.1.1 既存ツール 1 1.1.2 CDEサポート 2 1.2 FUSEスタートアップ時の制限事項 2 1.2.1 必要なオペレーティング・システム 2 1.2.2 .fuse.rc の削除 2 1.2.3 .fuse-defaults のファイルの削除 2 1.2.4 Motifウィンドウ・マネージャまたは CDEウィンドウ・マ ネージャ使用の推奨 2 1.2.5 FUSE の異常終了からの復帰 2 1.2.6 旧テキスト変換ツールによるクラッシュ 3 1.3 表示における問題 3 1.3.1 ULTRIX 上で表示する場合の正しいフォントのロード 3 1.3.2 Sun システムでの表示における問題 3 1.3.3 パーソナル・コンピュータでの表示における問題 3 1.3.4 4プレーン・カラー・システムでのカラー値 4 1.3.5 多色でFUSEとアプリケーションを実行する場合のカラー 表示の問題 4 1.4 印刷での問題 4 1.4.1 DXmPrintウィジェットには/etc/printcapファイルが必要 4 1.4.2 改善された印刷出力でのグラフの大きさ変更 4 1.5 ダイアログ・ボックスでの問題 5 1.5.1 システム負荷が大きい場合のダイアログ・ボックスの問題 5 1.6 言語サポートでの制限事項 5 1.6.1 Ada の言語 分類に関する制限 5 1.7 ビルダー 5 1.7.1 グラフ属性ダイアログ・ボックス 5 1.7.2 特定のメイクファイルで依存グラフが不完全な形で現れる 5 1.7.3 フィールド・テストのみ: プロジェクト・データが変更 されるとビルダーは応答しない 6 iii 1.7.4 フィールド・テストのみ: プロジェクト・マネージャ内 では「メイクファイル変更」ボタンが機能しない 6 1.8 C++ クラス・ブラウザ 6 1.8.1 C++バージョンに関する条件 6 1.9 コール・グラフ・ブラウザ 6 1.9.1 MB3の「コールを表示する」と「コールした関数」メニュ ー項目はユーザ・インタフェースにマッチしない 6 1.10 コード・マネージャ 7 1.10.1 サポートされるRCSバージョン 7 1.10.2 ライブラリファイルへのファイル保護の影響 7 1.10.3 メイン・ウィンドウ用の最小ウィンドウ・サイズ 7 1.10.4 RCS ライブラリのファイルに必要なリビジョン番号 7 1.10.5 未定義のエラーに起因する再初期化 7 1.10.6 SCCS PROJECTDIR はコード・マネージャと同時使用ができない 8 1.11 コントロール・パネル 8 1.11.1 プロジェクトを変更すると擬似エラーメッセージが現れる 8 1.11.2 保存されていない emacs バッファでの「ツールの停 止」ボタンの使用 8 1.11.3 フィールド・テストのみ: 新しいプロジェクトをオープ ンすると保存プロンプトが現れない 8 1.11.4 フィールド・テストのみ: プロジェクト・メニュー関数 が使えない 8 1.12 比較 8 1.13 クロス・レファレンサー 9 1.13.1 f77およびf90宣言を見つける 9 1.13.2 C++のバージョンに関する条件 9 1.14 データベース・マネージャ 9 iv 1.14.1 異なるシステムを使用するときの制限 9 1.14.2 クエリーを中止した場合に表示される誤解を招きやすい 内部エラー・メッセージ 9 1.15 デバッガ 9 1.15.1 サポートされなくなったdbx 10 1.15.2 新しいプログラムのロードによるデバッガのハング 10 1.15.3 Emacs ではブレーク・ポイントを解除できない 10 1.15.4 デバッガと CDE の連携 10 1.16 ハイパーヘルプ 10 1.16.1 古いハイパーヘルプ・アプリケーション・デフォルト ・ファイルを削除する 10 1.16.2 複数のビューア 10 1.17 emacs エディタ 10 1.17.1 注釈は最初のものだけが表示される 10 1.17.2 emacs についてのオンライン情報 10 1.18 XEmacs 11 1.18.1 XEmacsバージョンの互換性 11 1.18.2 別のツールからXEmacsを起動できない 11 1.19 MULEエディタ 11 1.20 FUSEエディタ 12 1.20.1 ファイル内のナル・バイトの取扱い 12 1.20.2 バッファが保存されたときの注釈位置が正しくない可能性 13 1.20.3 大容量ファイル印刷時のエラーの可能性 13 1.20.4 クラスを表示する」オプション 13 v 1.20.5 検索と置換 13 1.20.6 キー割当てにおける問題 13 1.20.7 名前のないバッファに対する チェック・アウト・ファ イル・ユーティリティの使用 13 1.20.8 正規表現を使って検索する場合のエラー 14 1.20.9 編集可能なファイルの利用可能なメモリのインパクト・ サイズ 14 1.21 ヒープ・アナライザ 14 1.21.1 I/Oウィンドウ内で実行するアプリケーションの制限 14 1.22 ホスト・シェル 14 1.23 ポーティング・アシスタント 14 1.23.1 メイクファイルでは Bourne シェル・コマンドのみがサ ポートされる 14 1.23.2 .cshrcファイルを実行する場合の制限 15 1.23.3 KAPプリプロセッサの無視 15 1.23.4 フィールド・テストのみ: プロジェクト・ビルド・ディ レクトリでの変更には再起動が必要 15 1.24 プロファイラ 15 1.24.1 I/Oウィンドウ内で実行するアプリケーションの制限 15 1.25 バージョン・コントローラ 15 1.26 スキャナ 15 1.26.1 ラッパー・ルーチン 15 1.26.2 C スキャナ 16 1.26.3 FORTRAN スキャナ 17 1.26.4 Pascal スキャナ 17 1.26.5 スキャナにパス名を指定するディレクティブ 17 vi 1.27 ドキュメンテーション 17 1.27.1 カラーおよび印刷ダイアログ・ボックスのヘルプ 17 1.27.2 ハイパーヘルプ項目を印刷するプリンタの設定 18 1.27.3 ツールを起動するコマンド行の構文 18 vii まえがき 本書は,日本語 DEC FUSE バージョン 4.0 (以下 FUSE)ソフ トウェアの新機能および既知の問題点について説明します。 対象読者 本書は,FUSE をインストールする方,およびインストール後に FUSE を使用するプログラマを対象にしています。 関連資料 本書の他に,FUSE については以下の情報があります。 o 『日本語 DEC FUSE ハンドブック』 FUSE環境の機能と適用範囲を説明します。 o 『DEC FUSE EnCASE Manual』 ツールを FUSE 環境に統合する手順を説明します。このオン ラインマニュアルは,ウェブブラウズ用のドキュメンテーシ ョンCDから取り出せます。 o 『Ladebug Debugger Manual: Window and Command-Line Interface』 Ladebugデバッガの使用に関するすべての詳細を提供します。 o 『FUSE Tutorials』 FUSE Tutorialsはオンライン情報であり,ユーザはプロジェ クトでのプログラミングを想定しながら,FUSE の基本機能 を学習することができます。 o 『FUSEの概要』 FUSEの,オンラインで対話型の紹介です。製品の機能と使用 について,実際的な概要情報を提供します。 o 『オンライン・ヘルプ』 オンライン・ヘルプは,各ツールのメイン・ウィンドウ,メ ニュー,ダイアログ・ボックスの使用方法を示します。トラ ブルシューティング情報やエラーへの対処方法もオンライン で得ることができます。オンライン・ヘルプは,ツールの 「ヘルプ」メニューから,または任意のダイアログ・ボック スの[ヘルプ]ボタンからアクセスできます。 o 『日本語DEC FUSEインストレーション・ガイド』 インストレーション手順書は,FUSEのインストール方法を順 を追って説明します。 o 『DEC FUSEリリースノート』 このドキュメントは,FUSEに関する既知の問題の要約です。 ご意見の送付について 弊社では,カスタマ・ニーズの反映を誇りとしています。皆様へ のサービスを続けるため,ドキュメンテーション,FUSE,および DigitalのUNIXソフトウェア開発ツールについて,ご意見,ご提 案,および一般的なフィードバックをいただけると幸いです。 よろしければ,弊社がソフトウェア開発ツールに行なわれる更新 内容を提供できるように,お名前,電子メール・アドレス,およ び電話番号を記入してください。 弊社へは,2種類の宛先を選ぶことができます。 o 電子メールは,以下のアドレスに送ってください。 fuse-comments@zko.dec.com Digital製品の詳細については, o 以下のWWW-URLを参照してください。 http://www.digital.com/info/fuse http://www.digital.com/home.html o 以下へメールを送ってください。 info@digital.com メールがこのアドレスに送付されると,Digitalから電子手段で 入手できる情報の一覧が自動的に返送されます。この一覧は, WWWアクセス,ftpアクセス,オンライン注文情報,Digital製品 情報,Digitalニュースレターなどについての情報を含みます。 x 表記法 表記の一覧 表記 意味 % Cシェルのシステム・プロンプトを示す。 $ Bourne と Korn シェルのシステム・プロン # スーパーユーザのプロンプトを示す。 fuse この字体(太字)は対話型のサンプルに出て .Xdefaults この字体は,ファイル名,プログラムシンボ file 斜体は,変数値,プレースホルダ,関数の引 操作:グル メニュー項目を示す。この例では,「操作」 [ | ] 構文定義で,[ ] はオプションの項目を示 し, { } は必須の項目を示す。 ... 構文定義で,その前に記述されている項目 cat(1) リファレンス・ページへのクロスリファレン スで,カッコ内のセクシ ョン番号を参照せよという意味。たとえば, Meta+x Meta キーを押しながら, + の後ろに記載 Ctrl+\ f Ctrl キーと \ キーを同時に押してから,2 C-c C-m コントロール・キー・シーケンスの, Emacs エディタでの表記 (例えば,Ctrl+cを押して からCtrl+cを押してからCtrl+mを押す)。 本所では,Emacsでのキー割り当てについては この表記法を使用する。 1 FUSE V4.0のリリースノート 1.1 FUSE V4.0の新機能の要約 FUSE V4.0 での開発作業の主眼は,FUSEを改良し,1つまたは複 数のプロジェクトを連携して行う作業をサポートすることでし た。現在,すべてのツールは,ユーザ定義プロジェクトのコンテ キストで動作します。プロジェクト・データは,セッションから セッションに渡して保存することができます。ユーザは,複数の プロジェクトを,プロジェクト固有のツール・セットと作業コン テキストを使ってオープンすることができます。一般に,プロジ ェクトは,プロジェクト・データ(例えば,すべてのソース・ファ イルの場所,ビルド・オプション,および静的分析データ)を指定 することによって1つの作業コンテキストを別の作業コンテキスト から分離する手段を提供します。 また,いくつかの既存ツールに変更が加えられました。 1.1.1 既存ツール 既存ツールに追加された新機能は,以下のとおりです。 o ビルダー o ブラウザ・ツール(ツール・グラフ・ブラウザ,クロス・レ ファレンサ,およびC++クラ スブラウザ)での使 用に対応し,ビルド中に静的分析データを生成できます。 o C++クラス・ブラウザー ユーザ・インタフェース全体が大幅に改善され,使い易さが 向上しています。 o エディタ - FUSEエディタおよびemacsにエラー・メッセージを表示。 - FUSE メニューを emacs バージョン 19.* のメニュー・ バーに追加。 - GNU emacs に加え,XEmacs にも対応。 o 日本語ロカール内で使う多言語エディタMULEに対応。 o ヒープ・アナライザ - マルチプロセスとマルチスレッドのプロファイリングに 対応。 o ポーティング・アシスタント - コンパイラ・ディレクティブの,等価なDigital UNIXデ ィレクティブへのマッピングに対応。 - 1 - - メイクファイル内のコンパイル・コマンド・ラインの, 等価なDigital UNIXコマンド・ラインへのマッピングに 対応。 - 一般に使われるFortran計算関数を含んでいるDXMLライ ブラリへのキーワード検索関数の追加。 - LINPACKルーチンとEISPACKルーチンの,LAPACKルーチン へのマッピングに対応。 o マニュアル・ページ・ブラウザ - 指定された正規表現を含むレファレンス・ページのエン トリの索引を表示。 - 指定された正規表現が項目名に含まれるレファレンス・ ページの,エントリの索引を表示。 o プロファイラ - マルチプロセスとマルチスレッドのプロファイリングに 対応 1.1.2 CDEサポート さらに,FUSE は Motif ウィンドウ・マネージャと連携する他, CDE (Common Desktop Environment)でも稼動します。 1.2 FUSEスタートアップ時の制限事項 初めて FUSE を起動する前に,必ずこの節の説明をお読みくださ い。 1.2.1 必要なオペレーティング・システム FUSE バージョン 4.0 は Digital UNIX バージョン 4.0以降で動 作します。 注意: DEC FUSE は,日本語ロカー ルを, Digital UNIX V4.0A 上で実行 する場合のみサポートします。 1.2.2 .fuse.rc の削除 「ツール」メニューでツールの一覧を正しく表示させるために, ホーム・ディレクトリにある .fuse.rc を削除してください。 1.2.3 .fuse-defaults のファイルの削除 インストレーション終了後,ホーム・ディレクトリの下にある .fuse-defaults に指定されているすべてのリソース・ファイルを 削除してください。 また,リソースファイル$HOME/.fuse-defaults/'locale'/DFxxxも 削除してください。FUSE 4.0では,一般にツールはプロジェクト ・データを使います。 1.2.4 Motifウィンドウ・マネージャまたは CDEウィンドウ・マネージ ャ使用の推奨 - 2 - 一般に,FUSE の操作は,Motif ベースのウィンドウ・マネージャ (mwmやdtwmなどのCDEウィンドウ・マネージャ)から表示されるウ ィンドウを使用する場合に最も信頼性があります。mwm ウィンド ウ・マネージャを使用する場合,FUSE バージョン4.0 の実行には OSF/Motif バージョン 1.2 が必要です。OSF/Motif のインストー ルと使用については,OSF/Motif の付属マニュアルを参照してく ださい。 1.2.5 FUSE の異常終了からの復帰 FUSE を,異常終了したあとにを再起動しようとすると,以下のメ ッセージが表示されます。 fuse: msg/s: fatal: Server already running fuse: msg/c: fatal: Couldn't create and connect to message server FUSEの再起動時にこのようなメッセージを受け取った場合には, 以下のファイルを消去する必要があります。 /usr/tmp/fusemsg*{user}* ここで,{user} とはユーザのログイン名を指します。 1.2.6 旧テキスト変換ツールによるクラッシュ FUSE ツールがアクションを見つけることができなくてクラッシュ した場合には,テキスト・ウィジェット変換テーブル(古いセッ ション・マネージャで作成されたもの)を .Xdefaults ファイル から削除してください。このテーブルは使用されなくなりまし た。 1.3 表示における問題 1.3.1 ULTRIX 上で表示する場合の正しいフォントのロード ULTRIX オペレーティング・システムを稼動している DECstation に FUSE をリダイレクト表示するときには,フォント・パスに 75 DPI (dots per inch) を指定する必要があります。フォント・パ スを確認するには,表示している ULTRIX システムで次のコマン ドを入力してください。 xset -q 75 DPI フォント・パスになっていないときには,ULTRIX システ ムで以下のコマンドを実行してこのフォント・パスを追加しま す。 xset +fp /usr/lib/X11/fonts/decwin/75dpi/ 1.3.2 Sun システムでの表示における問題 Sun システムを使って,その他のシステム上で実行している FUSE セッションを表示していて,Sun システムにバージョン3.0 より 古い OpenWindows がインストールされている場合は,ビルダー, コール・グラフ・ブラウザ,C++クラス・ブラウザ,コード・マネ - 3 - ージャの使用時に OpenWindows のスクロール・バーに問題が生じ ることがあります。OpenWindows をバージョン3.0 にアップグレ ードすると,この問題は解消します。 1.3.3 パーソナル・コンピュータでの表示における問題 MS-DOS や MS Windows をベースとして X サーバを表示に使用し ていると,X サーバの制限のために,すべての FUSE ツールが同 時に動作できないことがあります。この制限は,使用する X サー バに依存し,以下のような1つまたは複数の原因が考えられます。 o サーバの物理メモリの量 o X サーバの仮想メモリの量 o MS Windows の特定の構造体またはテーブルの最大値 ての問題を解決するには,以下の対策があります。 o FUSE を表示するシステムで,FUSE 以外のアプリケーションの 実行や表示を行わない。 o 同時には,数個の FUSE ツールだけを実行する。 また,他のシステムで稼動している FUSE セッションを表示する ために PC を使用する場合には,ウィンドウによってはサイズを 変更できません。 1.3.4 4プレーン・カラー・システムでのカラー値 FUSE の表示に 4 プレーン・カラー・システムを使用する場合に は,カラーの表示能力について警告メッセージが表示されます。 このメッセージが表示されないようにするには, /usr/opt/FUSE400/rundata/resources/4PlaneDefaults ファイル をコピーし,これをホーム・ディレクトリ(FUSE がインストール されているシステムのユーザ・ログイン・ディレクトリ)にある .Xdefaults ファイルに追加してから,FUSE の起動を行います。 1.3.5 多色でFUSEとアプリケーションを実行する場合のカラー表示の問題 多色を使用し,8プレーン・グラフィック・システム上で稼動する アプリケーション(Netscapeなど)を1つまたは複数使用しなが ら,FUSE を稼動すると,カラー・マッピング上の問題が生じるこ とがあります。この問題は特に,Netscape などのようなアプリケ ーションをすでに実行していて FUSE を起動する場合に顕著で す。例えば,コード・マネージャのロック・アイコンなどの FUSE ツールの表示でカラーが完全には表示されなかったりします。 FUSEでの色の問題に対する最も簡単なソリューションは,アプリ ケーションを追加しないようにすることです。Netscapeの場合, -installオプションを使ってNetscapeを起動し,より効率よく色 が使われるようにすることもできます。 1.4 印刷での問題 - 4 - 1.4.1 DXmPrintウィジェットには/etc/printcapファイルが必要 DXmPrintウィジェットは,ファイル/etc/printcapを使ってプリン タのリストを画面に入力します。このファイルが存在しないか正 しくない場合,FUSEは以下のいずれかの警告メッセージをコマン ドラインに発行します。 Printer name too long. Cannot access printer description file 1.4.2 改善された印刷出力でのグラフの大きさ変更 省略時設定の印刷グラフの大きさを変更するには,印刷前に以下 の操作を行って,グラフの大きさを変更します。 1. FUSE を起動する。 2. ホスト・シェル・ツールを起動する。 3. $HOME/.fuse-defaults ディレクトリが存在しないときには, 以下の要領でこのディレクトリを作成する。 mkdir $HOME/.fuse-defaults 4. $FUSE_TOP/rundata/postscript/gelo.postscript ファイルを ユーザの $HOME/.fuse-defaults ディレクトリにコピーする。 cp $FUSE_TOP/rundata/postscript/gelo.postscript$HOME/.fuse-default 5. $HOME/.fuse-defaults/gelo.postscript ファイルに書き込み 許可を追加する。 chmod u+w $HOME/.fuse-defaults/gelo.postscript 6. FUSEエディタを起動し, $HOME/.fuse-defaults/gelo.postscript ファイルをロードす る。 7. 文字列 LANDSCAPE を検索する。 この文字列のあるところに,グラフの回転と変換によってラン ドスケープ・モードで印刷することを命令するマクロが記述さ れています。 8. gelo.postscript ファイルの中にコメントとして記述されてい る指定方法にしたがって,印刷用紙上のグラフの大きさと位置 を変更する。 ユーザのディレクトリにある gelo.postscript ファイルへの 変更は即座に有効になるため,グラフ印刷のためにツールを再 起動する必要はありません。 1.5 ダイアログ・ボックスでの問題 1.5.1 システム負荷が大きい場合のダイアログ・ボックスの問題 保存したコンフィギュレーション・ファイルを複数のツールでコ ールしているときなど,FUSE を実行しているシステムの負荷が大 きいときは,X ツールキットのリソース要求が無視される可能性 があります。その結果,ダイアログ・ボックスの縦の長さが誤っ て設定されることがあります。このような場合に,ダイアログ・ - 5 - ボックスにスクロール・バーがあると,FUSE を起動した端末エミ ュレータ・ウィンドウに以下のメッセージが表示されます。 fuse: 'fuse-tool-name': warning/error : Name: hbar Class: XmScrollBar The specified slider size is less than 1 この問題を解消するには,手動でダイアログ・ボックスの大きさ を変更してください。 1.6 言語サポートでの制限事項 1.6.1 Ada の言語 分類に関する制限 Declaration クエリーに対し,クロス・レファレンサーは,言語 クラスによるクエリーをフィルタにかけて選別するために変数, 関数などの分類オプション・ボックスを提供しています。Ada 固 有の分類を利用するには,DEC Ada バージョン 3.2以降のコンパ イラが必要です。 1.7 ビルダー 1.7.1 グラフ属性ダイアログ・ボックス グラフ属性ダイアログ・ボックスでは,「サイズを拡大してテキ ストを表示」トグル・ボタンは常に淡色に表示され,選択できな くなっています。 1.7.2 特定のメイクファイルで依存グラフが不完全な形で現れる ビルダーは,依存グラフを作成するとき,初めに省略時ターゲッ ト(メイクファイルの最初のターゲット)から開始し,そのター ゲットの依存項目を全て評価します。ビルダー・エンジンに make , grumake のどちらのファイルを使用していても同じです。 省略時ターゲットがmake エンジンを再帰呼び出しするターゲット に依存しない構造の メイクファイルの場合は,表示されるグラフ は完全なものではなく,再帰ノードも表示されません。さらに, 実行時エラーも認識されません。 作業環境としては,他のメイクファイル・ターゲットの依存項目 を含むメイクファイルにダミーの省略時ターゲットを追加しま す。 1.7.3 フィールド・テストのみ: プロジェクト・データが変更されると ビルダーは応答しない ビルダーの動作中にプロジェクト・データを変更すると,他のツ ールは,ビルダーを起動して処理を行うこと(例えば,エディタか らビルドを起動することなど)ができません。ビルダーを終了して 再起動してください。 1.7.4 フィールド・テストのみ: プロジェクト・マネージャ内では「メ イクファイル変更」ボタンが機能しない - 6 - プロジェクト・マネージャのビルダー設定カテゴリーの中では, 「メイクファイル変更」ボタンが機能しません。「メイクファイ ル: メイクファイルの編集」オプションを選ぶことによって,ビ ルダーからこの機能をアクセスすることができます。 1.8 C++ クラス・ブラウザ 1.8.1 C++バージョンに関する条件 C++クラス・ブラウザでは,コンパイラによってクロスレファレン ス・データベース内部が変更されるため,最適な表示にはC++バー ジョン5.6が必要です。クラス・ブラウザは5.6より古いバージョ ンでも動作しますが,すべての機能が動作するわけではありませ ん。特に,テンプレートは正しく表示されません。また,メンバ ー表示をフィルタするために使われる属性は,正しく機能しない ことがあります。 1.9 コール・グラフ・ブラウザ 1.9.1 MB3の「コールを表示する」と「コールした関数」メニュー項目 はユーザ・インタフェースにマッチしない MB3を押すと表示されるポップアップ・メニューには,「コールを 表示する」と「コールした関数」の2つのメニュー項目がありま す。これらの項目は,対応するユーザ・インタフェース要素に正 しく一致しません。正しくは,「コールを表示する」メニュー項 目を選択した場合にメイン・ウィンドウの「コールを表示する」 トグルボタンがオンにならなければなりません。同様に,メイン ・ウィンドウの「コール・オプション」ボタンはトグルボタンが 付いたダイアログボックスを表示しますが,これらのトグルボタ ンの設定は,MB3のポップアップ・メニューで選択する設定と一致 しません。どちらの場合も,「コールを表示する」または「コー ルした関数」メニュー項目を選択する場合は,トグルボタンの設 定は正しくありません。 再度MB3メニュー項目を選択して,「コールを表示する」トグルボ タンをリセットすると,最後の表示画面に戻ることができます。 設定値をすべてクリアするには,「グラフ:元の」を選択しま す。 1.10 コード・マネージャ 1.10.1 サポートされるRCSバージョン FUSEは,RCSバージョン5.6.2(Digital UNIX バージョン4.0ととも に出荷される)以前だけをサポートし,RCSバージョン5.7以降をサ - 7 - ポートしません。 1.10.2 ライブラリファイルへのファイル保護の影響 コード・マネージャがライブラリを作成したときには,ファイル の所有者とグループに,読み込み,書き込み,実行アクセスが許 可され,ワールドへは読み込みと実行アクセスが許可されます。 ユーザ・アカウントにライブラリへの書き込みアクセスがない場 合,RCS は正確にその問題を報告します。SCCS では,以下の操作 が影響を受けます。 o チェックアウト:「コマンド:チェックアウトしています...」オプシ ェックアウトを行うと,エラー・メッセージが表示されます。 このエラー・メッセージは表示されるのに数分かかります。メ ッセージ表示までの時間を短くするには,/usr/bin/get ファ イルを FUSE キットの /usr/opt/FUS400/rundata/patch/get ファイルに置き換えてください。 o チェックイン:「コマンド:チェックインしています...」オ プションでファイルのチェックインを行うと,以下のエラー・ メッセージが表示されます。 SCCS: cannot create lock file o ロック解除:「コマンド:ロックをキャンセル...」オプショ ンでファイルのロックを解除しようとすると,以下のエラー・ メッセージが表示されます。 SCCS: (file) not being edited (sc14) これらの操作は,シェルから SCCS によって,ファイルのチェッ クアウト,チェックイン,ロック解除を行うときと同じ結果とな ります。 1.10.3 メイン・ウィンドウ用の最小ウィンドウ・サイズ コード・マネージャのメイン・ウィンドウには,ユーザが縮小で きる最小サイズが決められています。この最小サイズは,メイン ・ウィンドウが小さくなりすぎて,スクロール・バーが表示でき なくなるという問題を防ぐ働きがあります。 1.10.4 RCS ライブラリのファイルに必要なリビジョン番号 RCS ライブラリ内のファイルを操作するために,コード・マネー ジャにはファイルに関連するリビジョン情報が必要です。コード ・マネージャを使ってファイルをライブラリに挿入するときに は,コード・マネージャが新しい挿入ファイルに自動的にリビジ ョン 1.1 を割り当てるので,この問題は発生しません。 コード・マネージャを使わずに RCS ライブラリにファイルを挿入 するときには,rcs -i コマンドは使用しないでください。このコ マンドを使用すると,そのファイルをコード・マネージャで処理 できなくなるためです。rcs -i を使用すると,(ファイルを展開 しようとしたときなどに)何も起こらないか,(ファイルのチェ ックアウトをしようとしたときなどに)コード・マネージャから エラーが報告されます。 1.10.5 未定義のエラーに起因する再初期化 - 8 - 基本的なツール(RCS や SCCS)から,コード・マネージャが最適 な方法で確認または処理することができないと報告されるエラー がかなりあります。補助ツールの使用時にいわゆる「未定義の」 エラーが発生したことがコード・マネージャに報告されると,コ ード・マネージャは再度初期化を行って,下位レベルのツールが 不完全または誤ったデータを渡した可能性のあるライブラリをも う一度ロードします。 1.10.6 SCCS PROJECTDIR はコード・マネージャと同時使用ができない SCCS PROJECTDIR環境変数は,コード・マネージャの実行時は使用 することができません。代わりに PROJECTDIR 変数を使用するこ とによって,ポインタで示したかったライブラリをコード・マネ ージャの省略時ライブラリとしてコンフィギュレーションするこ とができます。 1.11 コントロール・パネル 1.11.1 プロジェクトを変更すると擬似エラーメッセージが現れる プロジェクトを変更すると,以下のエラーメッセージが現れるこ とがあります。 A Tool attempted to join a Tool Group which does not exist. It will be placed in the current Tool Group instead. このメッセージは無視してください。FUSEは,場合によってはこ のメッセージを表示したあとすぐにクラッシュします。この問題 は,以下のようにFUSEを実行することによって回避することがで きます。 fuse -nott 1.11.2 保存されていない emacs バッファでの「ツールの停止」ボタン の使用 [操作: ツールの停止]を使ってemacsエディタを停止しようとする ときに,[ファイル保存]プロンプトが表示されていると,emacsは 停止されずemacsのエントリがコントロール・パネル表示領域から 削除されます。ファイル保存プロンプトに入力を行うと,emacsエ ディタは停止します。 1.11.3 フィールド・テストのみ: 新しいプロジェクトをオープンする と保存プロンプトが現れない 新しいプロジェクト(unnamed)をオープンし,プロジェクト・マネ ージャ内の情報を変更しない場合,プロジェクトを保存するため のプロンプトが現れません。ビルド中に何らかの静的分析データ を作成していると,そのデータは削除されます。 1.11.4 フィールド・テストのみ: プロジェクト・メニュー関数が使えない ウィンドウ・マネージャ・クローズ関数を使って「プロジェクト: - 9 - クローズ」または「プロジェクト: 名前を付けて保存」ダイアロ グボックスをクローズする場合,プロジェクト・メニュー関数が 使えなくなります。この関数は淡色で表示されます。 1.12 比較 比較ツールは,その他のほとんどの FUSE ツールと同様,省略時 のシステム・フォントを使用するよう設定されています。このフ ォントはたいていプロポーショナル・フォント(特に CDE 使用 時)であるため,比較ツールでカラム中のデータを表示すると, 通常正しくアラインメントされません。カラム中のデータを正し く表示するには,「比較オプション」メニューのフォント・メニ ュー・エントリを使ってプロポーショナルでないフォントを選択 する必要があります。 1.13 クロス・レファレンサー 1.13.1 f77およびf90宣言を見つける F77 および F90 宣言の組み合わせがある場合は,クロス・レファ レンサーを使ってこの2つを見つける唯一の方法は,メイン・ウィ ンドウの「すべての言語」オプションを使用することです。詳し くは,本書の第 1.26.3 節を参照してください。 1.13.2 C++のバージョンに関する条件 クロス・レファレンサーでは,コンパイラによってクロスレファ レンス・データベースが変更されるので,最適な表示を行うには C++バージョン5.6が必要です。クロス・レファレンサーは,5.6以 前のバージョンでも動作しますが,すべての機能が動作するわけ ではありません。 1.14 データベース・マネージャ 1.14.1 異なるシステムを使用するときの制限 FUSE を実行しているシステムと,ファイルが存在するシステムと が異なるときには,ファイルへのマウント・ポイント(およびパ ス名)を同じにしてください。マウント・ポイントが異なってい ると,静的分析データベースが再度作成されます。ただし, /tmp_mnt をマウント・ポイントとして使用する場合は,この限り ではありません。 1.14.2 クエリーを中止した場合に表示される誤解を招きやすい内部エラ ー・メッセージ ライブラリ・サーバでクエリーを実行しているときに,データベ ース・トランスクリプト・ウィンドウの中止ボタンをクリックし てデータベースのスキャンを中止する場合は,ライブラリ・サー バが内部エラー発生の警告メッセージを表示します。これは真の 内部エラーではありません。このメッセージは,単にデータベー - 10 - スのスキャンが不完全だったことを示します。このクエリーの結 果を入手するには,この警告ボックスを無視して,もう一度検索 を行ってください。 1.15 デバッガ デバッガ全般に関する既知の問題については,『Ladebug Debugger Release Notes』を参照してください。 Digital UNIX V4.0 またはV4.0A でFUSE V4.0 を実行する場合, オペレーティングシステムと一緒に出荷されるLadebugはFUSE V4.0 と連動します。 o Ladebugの現在バージョン(V4.0-30)は,FUSE のプロジェクト ・データを使いません。ユーザは,「ツール: ツールのコンフ ィギュレーション」メニュー項目を使い,実行可能な名前とデ ータ・ディレクトリをLadebugに入力する必要があります。 Ladebugは,今後のリリースでFUSEプロジェクト・データをサ ポートします。 o 「ツール: ディレクトリ・リストの設定」メニュー項目は機能 しません。 1.15.1 サポートされなくなったdbx FUSE V4.0 では dbx デバッガがサポートされなくなりました。 1.15.2 新しいプログラムのロードによるデバッガのハング 最初のプログラムをロードしたあとでデバッガに新しいプログラ ムをロードする場合に,デバッガがハングアップすることがあり ます。新しくプログラムをロードするごとに,デバッガを新しく 呼び出すことをお勧めします。 1.15.3 Emacs ではブレーク・ポイントを解除できない ブレーク・ポイントは Emacs では解除できません。 1.15.4 デバッガと CDE の連携 CDE デスクトップを使ってデバッガ・アイコンの上に実行可能フ ァイルをドロップする場合は,デバッガはそのプログラムをロー ドしますが,必要なプログラムの引数を入力するよう要請しま す。データを追加するには,「ファイル:同じプログラムを再実 行」を選択します。 fusedebug コマンドを使ってコマンド行から統合デバッガを実行 すると,デバッガのコンフィギュレーションが,デバッガが起動 されたディレクトリでなく, FUSE が起動されたディレクトリに 行われます。 1.16 ハイパーヘルプ 1.16.1 古いハイパーヘルプ・アプリケーション・デフォルト・ファイ ルを削除する - 11 - /usr/lib/x11/app-defaultsに古いハイパーヘルプ・アプリケーシ ョン・デフォルト・ファイルがあると,ハイパーヘルプは正しく 動作しないことがあります(主に,プッシュボタン,タイトル・バ ーなどの名前が異常になります)。この現象が発生したら, /usr/lib/x11/app-defaults内のハイパーヘルプ・ファイルをバッ クアップして削除してください。 1.16.2 複数のビューア 動作中のハイパーヘルプ・ビューアがないときに「ヘルプ」ボタ ンを素早く押すと,複数のビューアが起動されることがありま す。1つのビューアだけがFUSEの制御に応答します。 1.17 emacs エディタ 1.17.1 注釈は最初のものだけが表示される emacs では,Annotate Lines 関数はサポートされていますが,最 初に受け取った注釈だけが表示され,それ以外のものは無効にな ります。 1.17.2 emacs についてのオンライン情報 emacs の編集ウィンドウにはヘルプ・メニューはありません。 emacs についてのオンライン情報を参照するには,任意の FUSE ツールのヘルプから「FUSEについて...」を選択し,「ソース・フ ァイルの編集」トピックを選択してください。 1.18 XEmacs 1.18.1 XEmacsバージョンの互換性 Digital UNIX V4.0 と一緒に出荷されるXEmacs のバージョンは, FUSE環境で正しく動作しません。ftpサイト(オンライン・ヘルプ の項目「XEmacsの取り出し方」を参照)を使い,バージョン19.15 以降をコピーしてください。 1.18.2 別のツールからXEmacsを起動できない 注釈を使って別のツールからXEmacsを起動しようとすると, XEmacsは最初,ファイルをオープンしないことがあります。ここ で,ファイルをロードして注釈をアクティブにするには,注釈を 再起動する必要がある場合があります。 1.19 MULEエディタ Digital UNIX バージョン 4.0といっしょに出荷されたMULEバイナ リは,日本語ロカールでは正しくメニュー名を表示しません。 o MULEバイナリを確認するには,次のようにします。 1. MULEエディタを起動する。 2. ファイル名に日本語の文字を含むファイルをロードまた は作成する。 - 12 - 3. 「バッファ」メニュープルダウンで,ファイル名が「バ ッファ」ウィンドウ内の名前と同じであることを確認す る。同じの場合は,バイナリは正しくビルドされていま す。メニューが読めない場合は,MULEを再ビルドして ください。 o MULEを再ビルドする前に,INSTALL,INSTALL.dec,README,お よびREADME.Muleファイルを読んでください。 MULEを再ビルド するには,約50〜70MBのディスク空き容量が必要です。 o 次の手順はMULEを再ビルドする目安です。この手順は設定によ っては正しく動作しない場合があります。 1. setldコマンドを使ってIOSWWMULE400と IOSWWMULESRC400サブセットを インストールします。 2. ソースtarファイルの圧縮データを解凍して抽出します。 a. % mkdir "mule_bld_directory" b. % cd "mule_bld_directory" c. % cp /usr/i18n/src/mule-2.3.tar.Z d. % uncompress mule-2.3.tar.Z e. % tar xvf mule-2.3.tar 3. mule-2.3ディレクトリに移ります。 % cd mule-2.3 4. config.guessファイルのファイル・プロパティを実行 可能に変更します。 % chmod a+rx config.guess 5. コンフィギュレーション・スクリプトを実行します。 % ./configure --with-gcc=no --prefix="mule-pathname" --mcpath 6. CC で始まる行 (たいていの場合 42 行目) を特定する ことによってメイクファ イルを編集し,メイクファイルが次の情報を読み込む ようにします。 CC=cc -I/usr/include/X11/fonts この変更によって,どのディレクトリからフォント・ サーバ・ヘッダファイル (FSlib.h)を探せばよいかをC コンパイラに知らせることができます。 (この 場所は,ユーザのマシンによって異なります。) 7. バイナリ・サイトのsite-lisp ディレクトリのファイ ルを,ユーザのsite-lisp 領域にコピーします。 - 13 - % mkdir "mule_pathname"/lib/mule/site-lisp/ % cp /usr/i18n/mule/lib/mule/site-lisp/* "mule_pathname"/lib/mule/site-lisp/ 8. MULEをビルドします。 % make install 9. 以下のようなコンパイル・エラーが発生したら,修正 します。 cc: Error: ../src/regex19.h, line 383: Invalid declaration. extern Lisp Object Vforward_word_regexp, Vbackward_word_regexp; -------------------^ Exit 1 ヘッダ・ファイル/usr/include/sys/lc_core.hを ./src/sys/lc_core.h にコピーし,次のインクルード文 を削除します。 #include 'regex.h' 10. 次の2つの方法のうちいずれか1つを使い,実行可能な 正しくビルドされたMULEをポイントしていることを確認 してください。 o FUSE_MULE環境変数を,'mule-pathname'/bin/muleに明示的に 設定する。 o 'fuse_path'/fuse.sh.のMULE へのリファレンスを編集する (さらに詳しい情報は,『インストレーション・ガイド』を参 照)。 1.20 FUSEエディタ 1.20.1 ファイル内のナル・バイトの取扱い ファイルにナル・バイト( \0 )が含まれている場合は,FUSE エ ディタはナル・バイト以降のファイルの内容を切り捨てます。ユ ーザがナル・バイトを含むファイルをロードすると,そのファイ ルの内容が一部切り捨てられる可能性があるという警告メッセー ジが FUSE から表示されます。ファイル全体を正しくロードした い場合には,emacs または vi でファイルからナル・バイトを削 除してから FUSE エディタにロードしてください。 1.20.2 バッファが保存されたときの注釈位置が正しくない可能性 ソース・ファイルの注釈は,以下の状況で不正になる可能性があ ります。 注釈がソース・ファイル内のツールでマークされている。ユーザ がソース・ファイルを変更し,その変更を保存するために「ファ - 14 - イル:保存」を使用する。注釈をマークしたツールは,ファイル の保存されていないバージョンによって注釈の位置を知るため, 注釈は不正になる。 同じファイルに対してコンフィギュレーションされた他のツール を開始すると,新しいツールはそのファイルの保存されているバ ージョンを参照し,元の注釈を生成したツールはまだ保存されて いないほうのバージョンを参照する。このため,この 2 つのツー ルは同じソース・ファイルを見ることがない。 たとえば,ユーザがビルダーでプログラムのビルドを行い,ビル ド・エラーが B 形とドクロ形の注釈によって FUSE エディタにマ ークされているとします。その後,ユーザは エディタを使用して ファイルを変更し,保存します。ビルダーには,ユーザが変更を 保存する前の行の位置によって,B 形とドクロ形の注釈が知らさ れています。その後,ユーザがクロス・レファレンサーを起動す ると,クロス・レファレンサーはソース・ファイルの保存された バージョンを正確に参照します。しかし,クロス・レファレンサ ーと ビルダーは,同じソース・ファイルに対して異なる見方をす ることになります。 1.20.3 大容量ファイル印刷時のエラーの可能性 「ファイル:印刷...」を使用して大容量ファイルを印刷すると, 不正命令信号割込みを受け取る場合があります。これは,同時に 複数のツールで /tmp ディレクトリが使用されるときに発生しや すくなっています。プログラムのビルドなどの /tmp ディレクト リを使用する動作が終了するまで待ってから,もう一度ファイル を印刷してください。 1.20.4 「クラスを表示する」オプション FUSE エディタの「ユーティリティ:クラスを表示する...」項目 は,選択されたクラス識別子が ClassName::MethodName の形式で あるときには,C++クラス・ブラウザのクラスを表示しません。エ ディタからクラスを表示するには, ClassName 部分だけをハイラ イトします。 1.20.5 検索と置換 FUSE エディタで,「検索...」ダイアログ・ボックスを表示し, 検索対象の文字列を多く含む非常に大きなバッファに対して「検 索してすべてを置換」処理を開始すると,FUSE エディタはすべて の置換を終了した後でハングアップしたように見えます。ただ し,実際にはハングアップはしておらず,一定時間待つと通常の 機能に戻ります。この待ち時間は,置換の回数によって変わりま す。 「検索してすべてを置換」処理を行い多数の置換を試みると, FUSEエディタはハングアップすることがあります。このハングア ップは,約20,000件を超える置換を行うまで発生しないようで す。 1.20.6 キー割当てにおける問題 システムの中には,FUSE エディタのキー割当てがマニュアルで書 かれているとおりに動作しないものがあります。特に,日本語 - 15 - Digital UNIXシステムには Ctrl+F3 と Ctrl+F6 を押しても何も 起こらないものがあります。 1.20.7 名前のないバッファに対する チェック・アウト・ファイル・ユ ーティリティの使用 FUSE エディタで名前をつけていないバッファ( Unnamed_1 のよ うな名前のバッファ)を編集しているときに,「ユーティリテ ィ:チェック・アウト...」を選択すると,コード・マネージャは Unnamed_1 という名前のファイルをチェック・アウトしようとし て,そのようなファイルが存在しないか,またはそのライブラリ ・タイプは現在のライブラリにマッチしないというメッセージを 出します。 このような問題を回避するには,FUSE エディタのバッファにチェ ック・アウトしたいファイルをロードしてからファイルをチェッ ク・アウトするか,またはコード・マネージャから直接そのファ イルをチェック・アウトしてから,「チェックアウト」ダイアロ グ・ボックスの「エディタの起動」チェックボックスをクリック して,ファイルを FUSEエディタにロードしてください。 1.20.8 正規表現を使って検索する場合のエラー 「バッファ」メニューからアクセスできるFUSE エディタの「検 索」ダイアログ・ボックスには,正規表現のパターンで検索を行 う場合の既知の問題があります。"^[pattern]"を検索すると,マ ッチするパターンがエディタの最初の行に存在する場合は,存在 しないものとして無視されます。また,"[pattern]$"を検索する と,マッチするパターンがエディタの最後の行に存在する場合 は,存在しないものとして無視されます。 1.20.9 編集可能なファイルの利用可能なメモリのインパクト・サイズ FUSE エディタでオープンできるファイルのサイズは,主として編 集セッション中にマシン上で利用できるメモリ容量に依存しま す。利用可能なメモリ容量をすべて消費した場合に編集または保 存をしようとすると,FUSE エディタがクラッシュすることがあり ます。5 万行を超えるような大容量のファイルの場合は,ごく簡 単な編集が長時間かかることがあります。また,ファイルの初頭 部を編集する方が,ファイルの末尾を編集するより長くかかりま す。 1.21 ヒープ・アナライザ 1.21.1 I/Oウィンドウ内で実行するアプリケーションの制限 アプリケーションは,/dev/ttyに入出力を行う場合,正しく動作 しません。また,Ctrl/C,Ctrl/Z,および同様のジョブ制御文字 をI/Oウィンドウ内で使うと動作しません。この場合,ヒープ・ア ナライザの外部でアプリケーションを実行してください。 1.22 ホスト・シェル - 16 - コントロール・パネルの「操作:ツールの起動」を選択して,ホ スト・シェルのウィンドウを表示画面の最上部に表示させようと する場合,表示することはできません。 1.23 ポーティング・アシスタント 1.23.1 メイクファイルでは Bourne シェル・コマンドのみがサポート される ポーティング・アシスタントは,Bourne シェル・コマンドを使う メイクファイルのみに対応します。 1.23.2 .cshrcファイルを実行する場合の制限 ポーティング・アシスタントが,ユーザの .cshrc ファイルのソ ースである C シェル・スクリプトを呼び出すメイクファイルを処 理する場合,その .cshrc ファイルが stty などで端末を変更し ないことを確認してください。変更があると,ポーティング・ア シスタントがハングアップする原因となります。 1.23.3 KAPプリプロセッサの無視 ポーティング・アシスタントは,スタンドアロンKAPプリプロセッ サのkapfコマンド(例えば,メイクファイル内で使われるコマンド )を無視します。ポーティング・アシスタントは,kf90とkf77を認 識します。 1.23.4 フィールド・テストのみ: プロジェクト・ビルド・ディレクト リでの変更には再起動が必要 ポーティング・アシスタントは,実行しているとき,プロジェク ト・ビルド・ディレクトリの変更をポーティングの対象にしませ ん。新しいディレクトリをポーティング対象にするには,ポーテ ィング・アシスタントを再起動してください。 1.24 プロファイラ 1.24.1 I/Oウィンドウ内で実行するアプリケーションの制限 アプリケーションは,/dev/ttyに入出力を行う場合,正しく動作 しません。また,Ctrl/C,Ctrl/Z,および同様のジョブ制御文字 をI/Oウィンドウ内で使うと動作しません。この場合には,プロフ ァイラの外部でアプリケーションを実行してください。 1.25 バージョン・コントローラ バージョン・コントローラは,チェックアウトが失敗しても,フ ァイルの編集を続行しようとします。 - 17 - 1.26 スキャナ 1.26.1 ラッパー・ルーチン ラッパー・ルーチンは,ビルド中にブラウザ・ツールの静的分析 データを生成することができます。ラッパー・ルーチンには,以 下の制限があります。 o fuse_cxxラッパーとfuse_f90ラッパーは,Digital以外のコン パイラを認識しません。 o fuse_cxxラッパーとfuse_f90ラッパーは,ソース・ファイル上 に同じベース名を持つコンパイル・コマンドを処理しません。 すなわち,以下のコマンドだけがファイルを作成します。 fuse_cxx cxx test.c regression/test.C o fuse_cxxラッパーは,CコードではなくC++ファイルだけをコン パイルします。 o 静的分析データを保存する場合,ラッパーは,パス名から先頭 の/tmp_mntを取り除きます。 1.26.2 C スキャナ ビルダ内の「静的分析データ生成」ボタンをクリックすると, FUSEは,ソースファイルをスキャンすることによって静的分析デ ータベースを作成します。 C スキャナは,特定の正常な C 構文を認識できないという以下の ような欠陥があります。これらの構文を使用すると,未完成また は不正確な静的分析データベースが作成される可能性がありま す。 o *ポインタで開始していない宣言子(declarator) は現在サポー トされていません。例えば,以下のステートメントは宣言文と はみなされず,この宣言が検出された後のソースについての結 果は予期できないものになります。 extern int (_my_func)(); int (c); 以下のステートメントの構文はサポートされています。 extern int (*_my_func)(); int (*c); o 言語では int は宣言で省略してもよいことになっています が,C スキャナは,外部宣言に関してのみ,これをサポートし ます。例えば, extern c; void main (); { extern main_c; } という例では,C スキャナは c を外部宣言の int として認識 しますが,main_c の宣言は認識しません。 - 18 - o C スキャナは構文のみのスキャナであり,スキャン中に意味情 報を保持することはありません。言語構文があいまいなとき は,スキャナがスキャン対象を正確に知ることは不可能です。 たとえば,変数宣言の構文は,式の構文を真似ることができま す。具体的には次の例を参照してください。 void popcg (int *tag) { clear (*tag); } void clear (int x) { } clear へのコール構文は,変数 tag の定義に使用できる構文 と同じです。この tag は(その前の typedef から)ユーザ定 義タイプ clear へのポインタでした。上記の例では,C スキ ャナは,関数コールではなく,宣言をスキャンしているとみな しています。popcg と clear の間のコールの関係は消失し, 自動変数 tag またはタイプ clear(*) に対する宣言情報が生 成されます。 o 以上のスキャン上の問題の1つによって,ファイルの残りの部 分が正常にスキャンされない可能性があります。ANSI C(すな わちISO C)関数定義を使えば,特にリターンタイプを提供す れば,C スキャナが関数の区切りを容易に判断することができ るようになります。このように,あるセクションのスキャン上 の問題が別のセクションのスキャンに異常をきたすことはまず ありません。 1.26.3 FORTRAN スキャナ o F77宣言とF90宣言の両方の組み合わせがある場合に,クロス ・レファレンサーを使ってその両方を見つける唯一の方法 は,メインウィンドウの「すべての言語」オプションを利用 することです。 F77 と F90 は Digital UNIX V4.0 のシン グルキットに含まれるため,省略時の設定により,FUSE は /usr/bin/f90 に配置されているF90を使ってF77ファイルを スキャンします。F90を利用できない場合は,ファイルは /usr/opt/FUS400/bin/fortran_scanner に配置されている FUSE Fortran スキャナによってスキャンされます。 F90コンパイラは,すべての宣言に F90 専用の f90_tag を 付けます。一方,FUSE Fortran スキャナはすべての宣言に f77_tag を付けます。F90 には F77 ではサポートされてい ない新しい宣言タイプがあるため,FUSE はこの 2 つのコン パイラを区別します。 F77 宣言と F90 宣言の両方の組み合 わせがある場合に,同時に両方を見つける唯一の方法は,ク ロス・レファレンサーのメイン・ウィンドウの「すべての言 語」オプションを使うことです。 o FORTRANスキャナは,英字の大文字/小文字を区別します。た とえば,スキャナは以下の構文を読み込んだときに, name をステートメントとして,NAMEを配列変数として検出しま す。 SUBROUTINE INIT CHARACTER*20 NAME(20) name(1) = 'a' END 1.26.4 Pascal スキャナ Pascal スキャナは,以下の項目をサポートしません。 o 標準以外の %INCLUDE ディレクティブ o 標準以外の配列構造 1.26.5 スキャナにパス名を指定するディレクティブ source:,include:,rootdir:,for: ... end: の各ディレクティ ブをスキャン対象のリソース・ファイル内で指定する場合には, 絶対パス名または相対パス名だけを使用してください。これらの ディレクティブの定義で環境変数を使用することはサポートされ ていません。 1.27 ドキュメンテーション 1.27.1 カラーおよび印刷ダイアログ・ボックスのヘルプ 「ファイル:印刷」を選択すると表示される「印刷」ダイアログ ・ボックス,または「カラー」ダイアログ・ボックス(「オプシ ョン:カラー」を選択し,「オプション - カラー」ダイアログ・ ボックスの項目をクリックしたときに表示される)でヘルプを要 求すると,日本語 Ditigal UNIX のブックリーダが呼び出されま す。このブックリーダでは,要求されたヘルプを含むファイルの 格納場所を特定することができない可能性があります。 1.27.2 ハイパーヘルプ項目を印刷するプリンタの設定 ハイパーヘルプ・ビューアが使用するプリンタの設定は,FUSE ヘ ルプ・システムで説明されている手順を実行すると簡単です。コ ントロール・パネルのヘルプ・メニューから「ヘルプについて」 を選択します。ハイパーヘルプ・ビューアで参照できるヘルプに 説明されている手順の補足として,初めに行うステップがいくつ か表示されます。この情報を参照するには, ハイパーヘルプ・ビ ューアのヘルプ・メニューから「ヘルプ: ヘルプの使い方」を選 択します。 1.27.3 ツールを起動するコマンド行の構文 「日本語 DEC FUSE ハンドブック」の付録 Dと各ツールの章 で,以下のコマンドについての説明に誤りがあります。 fusebuild fusecg fuseclass fusecm fusecompare fusepv fuseedit fuseheap fusemerge fueprof fusesearch fusevc fusexref 正しい構文については,Manページを参照してください。