Sun WorkShop 6 update 1 の新機能 | ![]() ![]() ![]() ![]() ![]() |
第 2 章
Sun WorkShop 6 の新機能のご紹介
この章では、Sun WorkShopTM 6 のコンパイラとツールの新しい機能について説明します。これらの新機能については、表にまとめられています。一部の機能については、各表の次の節で詳しく説明しています。
- 「主な特長」38ページ
- 「C コンパイラ」39ページ
- 「C++ コンパイラ」41ページ
- 「Fortran コンパイラ」48ページ
- 「Fortran 95 区間演算」55ページ
- 「dbx」57ページ
- 「Sun WorkShop 6」60ページ
- 「Sun WorkShop TeamWare 6」69ページ
- 「Sun WorkShop Visual 6」73ページ
- 「Sun Performance Library」75ページ
- 「標本アナライザ」77ページ
- 「インストール」81ページ
- 「HTML 形式のドキュメント」81ページ
主な特長
- ANSI/ISO C++ への準拠の強化
- OpenMP 並列化指令が追加された Fortran 95 コンパイラ
- UltraSPARCTM III のサポート
- より使いやすくなったプログラミング環境
- 新しいパフォーマンス解析ツール
- Fortran 95 区間演算
- インストールの改良
- HTML 形式による マニュアル、マニュアルページ、README、オンラインヘルプ
C コンパイラ
表 2-1 は、Sun WorkShop 6 C コンパイラの新機能です。これらの機能により、C コンパイラと
lint
ソースコードチェッカーがより優れたものとなっています。
C++ コンパイラ
表 2-2 では、Sun WorkShop 6 C++ コンパイラのリリースで利用できる新機能を一覧表示します。一部の製品の機能については、表の次の節でさらに詳しく説明しています。
表 2-2 C++ コンパイラの新機能 部分的特殊化 テンプレートは部分的に特殊化することができます。つまり、一部のテンプレートパラメータのみを指定したり、または複数のパラメータを特定の型のカテゴリに制限することができます。 明示的関数テンプレート引数 関数の引数からテンプレートの引数を推察できない場合、新リリースでは f
<template args>(function args) の構文を使って明示的に指定できます。関数テンプレートの型名でないパラメータ 新リリースでは、以下のような、関数テンプレートの型名でないパラメータをサポートします。 template<int I> void foo( int a[I] ) { ... }
template<int I> void foo( mytype<I> m ) { ... }メンバーテンプレート 新リリースの標準モードでは、クラスとクラステンプレートにメンバーとしてテンプレートを持たせることができます。 定義分離テンプレート編成に対する制約の解除 新リリースのコンパイラでは、 -instances != extern
(つまり、-instances=explicit
、-instances=global
、-instances=semiexplicit
、または-instances=static
) における "定義分離テンプレート編成" に対する制約が解除されています 。-instances
の設定値にかかわりなく、定義検索時に個別のソースファイルを含めるのがコンパイラのデフォルトの動作となっています。先読み命令 ヘッダーファイル sun_prefetch.h
とともに新しいオプション-xprefetch
を使用すると、UltraSPARC II など先読みをサポートするアーキテクチャ (-xarch=v8plus
,v9plus
,v9plusa
,v9
,v9a
) では先読み命令を指定できます。外部インライン関数 このバージョンのコンパイラでは、外部インライン関数を使用できます。インライン関数に局所的な静的データが入っている場合は、すべてのコンパイル単位でその静的データのコピーが 1 つだけ使用されます。ただし、異なる翻訳単位で取得したインライン関数のアドレスは等しいとはみなしません。 静的変数破棄の順序付け 規格により、静的記憶期間のあるオブジェクトを破棄する順序がさらに詳しく定義されました。静的オブジェクトは、作成した順序とは逆の順序で破棄する必要があります。以前の言語の定義では、いくつかの局面での規定が放置されていました。 副集合の初期設定 (中括弧初期設定を使用できる型に関し) クラスオブジェクトの中括弧初期設定を使用している場合、C++ 標準では、それ自体が集合クラス であるメンバーは、自分自身の型の値で初期設定できるようになりました。 自分専用の C++ 標準ライブラリの使い方 -library=no%Cstd
オプションを指定することで、コンパイラ付属のバージョンの代わりに、自分専用の C++ 標準ライブラリのバージョンを使用できます。キャッシュバージョン指定 C++ コンパイラには、キャッシュバージョンの違いを検出し、適切なエラーメッセージを出力する機能があります。 ビットフィールドサイズに関する制限の削除 ビットフィールドのサイズを 32 以下にするという制限は削除されました。ビットフィールドのサイズは任意になりました。 関数のポインタと void*
の相互間の変換に関する警告以前のコンパイラは関数のポインタと void*
で相互間の変換に関する警告を必ず出しましたが、現在では+w2
オプションを使用する場合に限り警告が出されます。新規オプションおよび変更されたオプション 以下のリストでは、新規オプションと変更されたオプションを示します。 新規オプション -xcrossfile
-Bsymbolic
-features=[no%]strictdestrorder
-template=extdef変更されたオプション -fast
詳細は、『C++ ユーザーズガイド』を参照してください。HTML で作成されたこのマニュアルを利用するには、ブラウザで
-library=[no%]Catd,+p
-ptr,-xprefetchfile:/opt/SUNWspro/docs/ja/index.html
にアクセスしてください。
部分的特殊化
テンプレートは完全に特殊化できます。つまり、特定のテンプレート引数に対する実装が定義されました。以下のコード例を参照してください。
template<class T, class U> class A { ... }; //初期テンプレートtemplate<> class A<int, double> { ... }; //特殊化テンプレートは部分的に特殊化することもできます。つまり、一部のテンプレートパラメータのみを指定したり、複数のパラメータを特定の型のカテゴリに制限することができます。その結果行われた部分的特殊化は、それ自体もテンプレートとして使用できます。以下は、上記の例の初期テンプレートを使用した例です。
- 初期テンプレートパラメータが
int
型である場合の特殊テンプレートの定義。以下のコード例を参照してください。
template<classU> class A<int> { ... };- 初期テンプレートパラメータが任意のポインタ型である場合の特殊なテンプレートの定義。以下のコード例を参照してください。
template<class T, class U> class A<T*> { ... };- 初期テンプレートパラメータが任意の型のポインタのポインタで、2 番目のテンプレートパラメータが
char
型である場合の特殊なテンプレートの定義。以下のコード例を参照してください。
template<class T> class A<T**, char> { ... };明示的関数テンプレート引数
関数の引数からテンプレートの引数を推察できない場合、
f
<template args>(function args) の構文を使って明示的に指定できます。
以下は、その一例です。
template<class Mytype> Mytype* construct(float,float);...int* x = construct<int>(a, b);関数テンプレートの型名でないパラメータ
新リリースでは、次のような関数テンプレートの型名でないパラメータをサポートします。
template<int I> void foo( int a[I] ) { ... }template<int I> void foo( mytype<I> m ) { ... }新リリースでは、次の例にあるように、型名でないテンプレートパラメータが入った式を関数パラメータリストに使用することはできません。
// 以下はサポートされませんtemplate<int I> void foo( mytype<2*I> ) { ... }template<int I, int J> void foo( int a[I+J] ) { ... }メンバーテンプレート
標準モードでのクラスとクラステンプレートには、次のコード例のように、メンバーとしてテンプレートを持たせることができます。
template <class T1>class OuterClass {public:// クラスメンバーテンプレートtemplate <class T2>class MemberClass{T2 MCmember;T1 OCmember;};template<class T3> operator T3() { ... }...};
注 - メンバーテンプレートは、互換モード (-compat
[=4]
) ではサポートされていません。
定義分離テンプレート編成に対する制約の解除
新リリースのコンパイラでは、
-instances
!= extern
(-instances=explicit
、-instances=global
、-instances=semiexplicit
、または-instances=static
) における「定義分離テンプレート編成」に対する制約が解除されています 。-instances
の設定値にかかわりなく、定義検索時に個別のソースファイルを含めるのがコンパイラのデフォルトの動作となっています。この制約を再び有効にするには、
-template=no%extdef
オプションを使用してください。ただし、-template=no%extdef
オプションが指定されている場合、コンパイラは-instances=extern
が指定されても個別のソースファイルを検索しません。静的変数破棄の順序付け
規格により、静的記憶期間のあるオブジェクトを破棄する順序がさらに詳しく定義されました。静的オブジェクトは、生成した順序とは逆の順序で破棄する必要があります。以前の言語の定義では、いくつかの局面での規定が放置されていました。
厳しくなったこの順序付けは標準モードの場合に限り実装されます。互換モード (
-compat[=4]
) では、破棄の順序は以前と同様に実装されます。プログラムが破棄について特定の順序に依存しており、しかも旧コンパイラで動作していた場合、標準モードでは、この規格で要求される順序によってプログラムが破壊されてしまう可能性があります。この場合、
-features=no%strictdestrorder
コマンドオプションを使用すると、破棄の厳格な順序付けが行われなくなります。副集合の初期設定
(中括弧初期設定を使用できる型に関し) クラスオブジェクトの中括弧初期設定を使用している場合、C++ 標準では、それ自体が集合クラスであるメンバーは、自分自身の型の値で初期設定できるようになりました。以下のコード例を参照してください。
struct S { // 集合の型
int i, j;
};
struct T { // 集合の型
S s; // 集合のメンバー
int k;
};T t1 = { {1, 2}, 3 }; // 従来の初期化S s1 = { 1, 2 };T t2 = { s1, 3 }; // 副集合の初期設定自分専用の C++ 標準ライブラリの使い方
コンパイラ付属のライブラリの代わりに、自分専用の C++ 標準ライブラリを使用する場合は、
-library=no%Cstd
オプションを指定します。このオプションは、以下のヘッダーを検索しないようにします。
<algorithm>
<bitset>
<complex>
<deque>
<fstream>
<functional>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<iterator>
<limits>
<list>
<locale>
<map>
<memory>
<numeric>
<ostream>
<queue>
<set>
<sstream>
<stack>
<stdexcept>
<streambuf>
<string>
<strstream>
<utility>
<valarray>
<vector>
-library=no%Cstd
を指定すると、前述のヘッダーを実装するlibCstd
ライブラリがプログラムに自動的にリンクされなくなります。上記のヘッダーで宣言されている機能を使用するには、-I
オプションを使用して代わりに使用するヘッダーのあるディレクトリを指定し、プログラムを、代替ヘッダーの実装を含むライブラリまたは一連のオブジェクトファイルとリンクする必要があります。上に記載したヘッダーの一部だけを入れ替えたり、
libCstd
を、別のライブラリの実装の全部または一部とリンクすることは安全ではありません。たとえば、文字列クラスだけを置き換えてlibCstd
を使用することはできません。コンパイラ付属のライブラリを使用するか、または上記に記載したすべての機能を置き換えてください。残りのヘッダー (<
exception
>、<new
>、<typeinfo
>、および C から継承したすべてのヘッダー) は、コンパイラ自体または Solaris にとって必要不可欠で、-library=no%Cstd
オプションでその使用の有無を制御することはできません。また、ライブラリlibCrun
のリンクも-library=no%Cstd
オプションでは制御できません。
libCrun
の機能を置き換えることはできません。標準ライブラリを置き換える場合は、コードをコンパイラ付属の <exception
>、<new
>、および <typeinfo
> と共にコンパイルする必要があります。標準モード (デフォルトモード) では、C++ プログラムは必ずlibCrun
にリンクしてください。
注 - このオプションは、自分の責任において使用してください。自分専用のバージョンの C++ 標準ライブラリを使用しても、最適な結果が得られないことがあります。
キャッシュバージョン指定
C++ コンパイラはキャッシュバージョンの違いを検出し、適切なエラーメッセージを出す機能があります。コンパイラでは、それぞれのテンプレートキャッシュディレクトリにテンプレートのキャッシュバージョンを固有に識別するバージョンを示す文字列を付けます。コンパイラの後続のリリースもキャッシュのバージョンを示す文字列を使用しますが、これらのバージョンは現行のバージョンと違うことがあります。
このコンパイラと後続のコンパイラはキャッシュディレクトリ内からバージョンストリングを検出して、適宜エラーを出します。たとえば、後続のコンパイラは異なるテンプレートキャッシュバージョンを使用し、このコンパイラのリリースによって生成されるキャッシュディレクトリを処理しようとすると以下のエラーを出力する場合があります。
SunWS_cache: Error: Database version mismatch
/SunWS_cache/CC_version
同様に、このリリースのコンパイラでは、将来リリースされるコンパイラによって生成されたキャッシュディレクトリを検出するとエラーを出力します。
Sun WorkShop C++ コンパイラ 5.0 によって生成されるテンプレートキャッシュディレクトリにはバージョン指定が行われていません。ただし、Sun WorkShop 6 C++ コンパイラでは、エラーや警告が出されることなくキャッシュディレクトリが処理されます。これらのキャッシュディレクトリは、Sun WorkShop 6 C++ コンパイラによって使用されるキャッシュディレクトリ形式に変換されます。
Sun WorkShop 6 C++ コンパイラまたはそれ以降のリリースによって生成されるテンプレートキャッシュディレクトリは、Sun WorkShop C++ コンパイラ 5.0 では使用できません。Sun WorkShop C++ コンパイラ 5.0 は、形式の違いを認識できないので、エラーを出力します。
Fortran コンパイラ
Sun WorkShop 6 には、Sun WorkShopTM Fortran コンパイラ
f77
と Sun WorkShopTM Fortran コンパイラf95
が含まれます。この Sun WorkShop 6 リリースの Fortran コンパイラでサポートしている Solaris SPARCTM プラットフォーム版オペレーティング環境のバージョンは、2.6、7、および 8 に限定されます。Solaris Intel IA-32 プラットフォームについては、サンは Fortran のコンパイラと Sun Performance Library の開発を中止しました。このリリースでは、サンは Solaris Intel IA-32 プラットフォーム用の ForteTM for High Performance Computing または ForteTM Fortran デスクトップ版 (かつての Sun Performance WorkShop Fortran) を提供していません。Solaris Intel IA-32 プラットフォームのソフトウェア開発支援ツールの製品ラインについては、Portland Group (
http://www.pgroup.com
) に問い合わせてください。Fortran 77 コンパイラ
表 2-3 は、Sun WorkShop 6 Fortran 77 コンパイラの新機能です。一部の機能について詳細は、「Fortran コンパイラの新機能」を参照してください。
表 2-3 FORTRAN 77 コンパイラの新機能 入出力操作に対する FORM="BINARY" の効果 この新しいオプションを OPEN(..)
文の中で指定すると、レコードマークなしの順番探査ファイル (書式なし) としてファイルが取り扱われます。この結果、連続したバイトストリームとしてデータが読み書きされ、他のベンダーシステムとの互換性が確保されます。この機能は、Fortran 95 と Fortran 77 の両方のコンパイラに実装されています。最適化コードのデバッグ 新リリースでは -g
を使用したコンパイルに対する制約が緩和され、デバッグ用 (-g
) のフラグとともに-O4
と-O5
でのコンパイル、またはすべての並列化フラグ (-parallel
、-explicitpar
、-autopar
) によるコンパイルが可能になりました。新しいコマンド行フラグ 新リリースの f77
には、次のコマンド行フラグが追加されています (f77
(1) マニュアルページ参照)。拡張コマンド行フラグ 次の f77
コマンド行フラグが拡張されました (f77
(1) マニュアルページ参照):Cray スタイルの指令1 Cray スタイルの並列化指令に AUTOSCOPE を追加。 ハイパーリンクされたコンパイラの診断 Sun WorkShop の「構築」ウィンドウの f77
のエラーメッセージには、メッセージを説明するヘルプページへのハイパーリンクが追加されました。
1) ライセンス供与 Fortran 77 コンパイラの並列化機能には、Sun WorkShop HPC ライセンスが必要です。Fortran 95 コンパイラ
表 2-4 は、Sun WorkShop 6 Fortran 95 コンパイラの新機能です。一部の機能について詳細は、「Fortran コンパイラの新機能」を参照してください。
表 2-4 Fortran 95 コンパイラの新機能 標準への準拠 Fortran 95 コンパイラは、Fortran 95 の規格に完全に準拠しています。 新しいコマンド Fortran 95 コンパイラは、 f90
とf95
のどちらのコマンドによっても起動できます。f95
コマンドは新しいコマンドです。f90
はf95
と同等のコマンドです。ファイル拡張子 コンパイラは、拡張子 .f90
と.F90
のほか、.f95
と.F95
のソースファイルも受け付けます。入出力操作に対する FORM="BINARY" の効果 この新オプションを OPEN(..)
文の中で指定すると、レコードマークなしの順番探査ファイル (書式なし) としてファイルが取り扱われます。この結果、連続したバイトストリームとしてデータが読み書きされ、他のベンダーシステムとの互換性が確保されます。この機能は、Fortran 95 と Fortran 77 の両方のコンパイラで実装されています。『FORTRAN 77 言語リファレンス』を参照してください。最適化コードのデバッグ -g
を使用したコンパイルに対する制約が緩和され、デバッグ用 (-g
) のフラグとともに-O4
と-O5
でのコンパイルや、すべての並列化フラグ (-parallel
、-explicitpar
、-autopar
) によるコンパイルが可能になりました。F77
フラグf77
コンパイラフラグのほとんどは、f95
で実装されています。詳細については、f95
(1) マニュアルページを参照してください。具体的なフラグは、次のとおりです。-erroff
指定したエラーメッセージを非表示にします。 -errtags
タグ付きのエラーメッセージを表示します。 -ext_names
下線付きまたは下線なしの外部名を作成します。 -fpp
ソースコードプリプロセッサを指定します。 -loopinfo
どのループが並列化されているかを示します。 -sbfast
ブラウザテーブル情報を作成します。 -silent
コンパイラメッセージを抑止します。 -U
小文字と大文字の区別を許可します。 -u
IMPLICIT NONE
を意味します。-xcrossfile
ファイル間の最適化を使用可能にします。 -xF
アナライザのための関数レベルの順序変更を可能にします。 -xinline
関数をインラインでコンパイルします。 -xtypemap
デフォルトのデータサイズを指定します。 新しいフラグ 次の新しいフラグが f95
で実装されています。-aligncommon
指定のバイト境界に共通ブロック要素を整列します。 -mp=openmp
OpenMP
指令を受け付けます。-r8const
単精度定数を REAL*8 に高めます。 -xia
区間演算拡張機能の処理を使用可能にします。(推奨) -xinterval
区間演算拡張機能の処理を使用可能にします。 -xmemalign
データ要素の適切な境界への整列を指定します。 -xrecursive
RECURSIVE
属性なしの再帰的呼び出しを許可します。拡張フラグ 以下の f95
コマンド行フラグが拡張されました (f95
(1) マニュアルページ参照)。-fast
-xprefetch
-xtypemap-05 -fsimple=2 -xvector=yes -pad=common
を設定します。
明示的なプラグマprefetch
指令を使用可能にし、UltraSPARC プラットフォームで先読み命令を生成します。
可能なデータ型指定の拡張セットを含んでいます。OpenMP このリリースの Fortran 95 は、ソースコード指令のセット、実行時ライブラリルーチン、環境変数を含む、明示的並列化のための OpenMP インタフェースを実装しています。『Fortran ユーザーズガイド』を参照してください。 Cray スタイルの指令 Cray スタイルの並列化指令に追加された AUTOSCOPE
。区間演算拡張機能 このリリースの Fortran 95 では、組み込みの INTERVAL
データ型のサポートが実装されています。ライセンス Fortran 95 コンパイラの並列化機能には、Sun WorkShop HPC ライセンスが必要です。 ハイパーリンクされたコンパイラの診断 Sun WorkShop 「構築」ウィンドウでは、 f95
のエラーメッセージをオンラインヘルプへのリンクとして解釈されるようになりました。
Fortran コンパイラの新機能
以下の節では、Fortran コンパイラのいくつかの新機能についてさらに詳しく説明します。
入出力操作に対する FORM="BINARY" の効果
WRITE
文 − データはバイナリとしてファイルに書き込まれ、出力リストに指定されているバイト数が転送されます。READ
文 − データは入力リスト上の変数に読み込まれ、同リストで要求されているバイト数が転送されます。ファイルにはレコードマークがないので、「記録終了」のエラー検出は行われません。検出対象のエラーは、「ファイル終了」やシステム異常エラーだけです。INQUIRE
文 −FORM="BINARY"
で開いたファイルに対するINQUIRE
は、以下を返します。
FORM="BINARY"
と
ACCESS="SEQUENTIAL"
SEQUENTIAL="YES"
DIRECT="NO"
FORMATTED="NO"
UNFORMATTED="YES"
RECL=NEXTREC= は未定義。
BACKSPACE
文 − 使用は許可されていないので、エラーが出力されます。ENDFILE
文 − 通常どおり、現在位置でファイルを切り捨てます。REWIND
文 − 通常どおり、データの先頭にファイルを再配置します。OpenMP
このリリースの Fortran 95 は、ソースコード指令のセット、実行時ライブラリルーチン、環境変数などをはじめとする、明示的並列化のための OpenMP インタフェースを実装しています。OpenMP の暫定ドキュメントが README として入っています。OpenMP の仕様については、
http://www.openmp.org/
を参照してください。Fortran コンパイラで受け付ける OpenMP を含むすべての指令については、『Fortran ユーザーズガイド』の付録 E にまとめられています。Fortran コンパイラの並列化機能について詳しくは、『Fortran プログラミングガイド』を参照してください。
注 - Fortran のコンパイラの並列化機能には、Sun WorkShop HPC ライセンスが必要です。
区間演算拡張機能
このリリースの Fortran 95 には、区間演算拡張機能が実装されています。「Fortran 95 区間演算」を参照してください。
ハイパーリンクされたコンパイラの診断
Sun WorkShop を使用してアプリケーションの構築やコンパイルを行う場合、「構築」ウィンドウ内の
f77
とf95
の診断メッセージにヘルプページへのハイパーリンクが追加されました。このエラーメッセージをクリックすると、ヘルプブラウザが立ち上がり、特定のエラー診断に関する詳しい情報が表示されます。Fortran 95 区間演算
組み込み
INTERVAL
データ型のサポートは、Sun WorkShop 6 Fortran 95 コンパイラの新しい機能です。新しい 2 つのコンパイラフラグ
-xia
と-xinterval
により、コンパイラは区間特有の言語を認識し、区間命令を実現するためのコードを生成します。区間演算とは
区間演算を使用すると、各区間に含まれる数の集合について算術演算の値が求められます。区間とは、その区間の下位の境界から上位の境界までの間にあるすべての実数の集合を意味します。区間演算結果はどれもすべての可能な結果の集合が必ず含まれるひとつの新しい区間です。
Sun WorkShop 6 Fortran 95 を使用すれば、区間プログラムを作成して算術演算の値で厳密な境界を計算するのは容易です。
- 変数を
INTERVAL
型として宣言します。INTERVAL
組み込み関数や演算子、関係演算子、および書式編集記述子を使用して通常の Fortran コードを作成します。-xia
コマンド行オプションを使用してコードをコンパイルします。最適な結果を得るためには、狭幅の区間結果を計算する既存の区間アルゴリズムを使用します。そして、この狭幅の区間結果を計算するアルゴリズムを考案することが、区間分析の主な目的です。
区間演算が重要である理由
- 区間演算を使用すると、入力データエラー、マシンの丸め、それらの相互作用など、あらゆるソースからのエラーに確実な範囲を設けてコンピュータで計算を実行 できます。
- 区間アルゴリズムにより、非線形的な問題の解決、たとえば、方程式の非線形システムや非線形プログラミングを行なうことが可能になります。
区間がより一般的になるにつれて、区間ソルバーのライブラリが線形および非線形を問わずあらゆる問題に対するシャープな区間解決法の計算に利用できるようになり、さらにエラーのあらゆる原因を考慮できるようになります。これらのライブラリを用いることによって、科学者やエンジニア、商用アプリケーションの開発者は、それまでは手の届かなかった問題を解決するプログラムを開発できるようになります。
詳細情報の入手先
『Fortran 95 区間演算プログラミングリファレンス』または区間演算の README に記載されているオンラインリソースの一覧を参照してください。
dbx
表 2-5 は、Sun WorkShop 6
dbx
の新機能です。
Sun WorkShop 6
表 2-6 は、Sun WorkShop 6 の新機能です。一部の製品の機能については、表の次の節でさらに詳しく説明しています。
テキスト編集
以下の 2 つの節は、新しく追加された Sun WorkShop 6 テキスト編集機能を説明しています。
式のバルーン評価
式のバルーン評価は、テキストエディタにおいて現時点でマウスでポイントしている数式の現在値を即時に表示します。数式のタイプを調べたり、ポインタを間接参照したりすることもできます。詳細については、オンラインヘルプの「テキスト編集」の「式のバルーン評価」の使用を参照してください。
NEdit と Vim テキストエディタ
テキストエディタは、構築、デバッグ、ブラウズを含む Sun WorkShop 統合開発支援ツールセットの中心に位置します。Sun WorkShop プログラミング環境では、数式の評価、ブレークポイントの設定、関数の検討をテキストエディタから行うことができます。
X/Motif システムへのグラフィカルユーザーインタフェースを備えたプレーンテキストエディタである NEdit、および UNIX システムでの改良版 vi 標準テキストエディタである Vim は、このリリースでの新しい統合テキストエディタです。以下は、Sun WorkShop 6 とともに提供される統合エディタのリストです。
- NEdit (version 5.1)
- XEmacs (version 20.4 またはこれと互換のあるバージョン)
- GNU Emacs (version 19.28 またはこれと互換のあるバージョン)
- Vi
- Vim (version 5.3、グラフィカルユーザーインタフェースオプションあり)
各エディタの選び方の詳細については、以下を参照してください。
プログラムのデバッグ
以下の節は、新しく追加されたデバッグ機能について説明しています。
「ボタン編集」ウィンドウ
「ボタン編集」ウィンドウにより、エディタウィンドウと「デバッグ」ウィンドウのツールバーをカスタマイズしたり、「デバッグ用カスタムボタン」ウィンドウのボタンを追加、削除、または編集したりできるようになりました。
詳細については、「ツールバーオプション」を参照してください。
「デバッグ」ウィンドウ
以下の節では、「デバッグ」ウィンドウに組み込まれたいくつかの変更について説明しています。
セッションステータスとコンテキスト情報
デフォルトの設定では、「状態」、「停止位置」、「評価コンテキスト」、「セッション数」などの情報は、これまでのようにはツールバーの下に表示されません。この情報を表示させたい場合は、「デバッグオプション」ダイアログの「ウィンドウレイアウト」タブの中の「画面の上部にコンテキスト / ステータスの 3 行を表示」を選択します。詳細については、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「セッションステータス情報とコンテキスト情報の表示」を参照してください。
「データ」区画
「データ」区画は、「データ履歴」と「プログラム入出力」のタブ、およびオプションの「データ表示」タブと置き換えられました。
- 「データ履歴」タブには、「データ」区画が表示されます。詳細については、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「データ履歴」タブを参照してください。
- 「プログラム入出力」タブは、別の「プログラム入出力」ウィンドウではなく、「デバッグ」ウィンドウ内にプログラムの入出力に関する情報を表示します (詳細は、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「プログラム入出力」タブを参照してください)。デフォルトではこのタブにプログラムの入出力情報が表示されるようになりましたが、「デバッグオプション」ダイアログボックスの「デバッグ出力」タブの「プログラム出力」区画を使用して、プログラムの入出力を行う場所を選択できます。詳細については、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「プログラムの入出力先のリダイレクト」タブを参照してください。
- 「データ表示」タブは、「デバッグオプション」ダイアログボックスの「データ表示ウィンドウ」タブの「データ表示ウィンドウ 以下として表示」区画で「デバッグウィンドウのタブ」を選択した場合に (別の「データ表示」ウィンドウの代わりに) 含まれます。詳細については、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「データ表示」タブと「データ表示」ウィンドウの表示方法の選択を参照してください。
セッション区画とスレッド区画
「セッション」区画と「スレッド」区画を切り替えるためのラジオボタンが、「セッション」、「スレッド」、および「ブレークポイント」のタブと置き換えられました。
- 「セッション」タブは「セッション」区画を表示します。このタブの上で右マウスボタンを押すと、ポップアップメニューが表示されます。「セッションタブ」を参照してください。詳細については、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「セッション」タブを参照してください。
- 「スレッド」タブは「スレッド」区画を表示します。「スレッドタブ」を参照してください。詳細については、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「スレッド」タブを参照してください。
- 「ブレークポイント」タブは、プログラムに割り当てられているブレークポイントやトレースポイントをスクロール可能な一覧として表示します。このタブの上で右マウスボタンを押すと、ポップアップメニューが表示されるので、各ブレークポイントごとに瞬時に使用可能、使用禁止、削除、あるいはソースを表示することができます。このポップアップメニューには「追加」項目が含まれており、この項目を選択すると、ブレークポイントの追加、使用可能、使用禁止、変更、削除などの操作を行える別の「ブレークポイント」ウィンドウが表示されます。詳細については、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「ブレークポイント」タブを参照してください。
「デバッグオプション」ダイアログボックス
「デバッグオプション」ダイアログボックスには、以下の新機能が追加されました。
「カテゴリ」タブ
「デバッグオプション」ダイアログボックスの「カテゴリ」リストボックスは、オプションのカテゴリを切り替えるためのウィンドウの右側に表示されるタブと置き換えられました。
新しい「プログラム出力」オプション
プログラムの入出力を、「デバッグ」ウィンドウの「プログラム入出力」タブに変更する選択肢が追加されました。以前と同様、別の「プログラム入出力」ウィンドウ、「
dbx
コマンド」ウィンドウ、あるいはカスタムpty
にプログラムの入出力先を変更することもできます。「プログラムの入出力先のリダイレクト」を参照してください。新しい「コールスタック」オプション
デバッグセッション中、プログラムが
-g
フラグ付きでコンパイルされなかった場合、デバッグ可能なソースコードでないプログラム内の関数で実行が停止する場合があります。このバージョンでは、コールスタックをこのケースで最初のデバッグ可能なソースコードにポップするよう選択できるようになりました。詳細については、Sun WorkShop オンラインヘルプの「デバッグウィンドウの使い方」の「実行停止時にスタックをさかのぼる」を参照してください。新しい「ステップ実行」オプション
デフォルトの設定では、デバッグのステップ実行単位は「文」に設定されます。したがって、1 つのソースコード行に複数の文が含まれている場合、その行をステップ実行するのにその文の数だけ
next
コマンドが必要です。新バージョンでは、ステップ実行単位に「行」を設定できるようになったため、行に含まれている文の数に関係なく、next
コマンド 1 つで行全体をステップ実行できます。詳細については、Sun WorkShop オンラインヘルプの「ステップ実行単位の設定」を参照してください。新しい「ウィンドウレイアウト」オプション
デフォルトの設定では、「状態」、「停止位置」、「評価コンテキスト」、および「セッション数」の情報は、ツールバーの下に表示されなくなりました。これらの情報を表示させたい場合には、「デバッグオプション」ダイアログボックスの「ウィンドウレイアウト」タブで「画面の上部にコンテキスト / ステータスの 3 行を表示」を選択します。詳細については、Sun WorkShop オンラインヘルプの「セッションステータス情報とコンテキスト情報の表示」を参照してください。
新しい「ウィンドウ動作」オプション
デフォルトの設定では、デバッガはプログラムの
main()
モジュールにデバッグ情報が付随していない場合に警告を出します。新バージョンでは、この警告を表示させないようにすることができます。詳細については、Sun WorkShop オンラインヘルプの「デバッグ情報を使用しないでmain()
モジュールをコンパイルした時に警告を表示させる」を参照してください。新しい「データ表示」オプション
「データ表示」ウィンドウを「デバッグ」ウィンドウのタブとして表示させたり、別のウィンドウとして表示させることができるようになりました。詳細については、Sun WorkShop オンラインヘルプの「データ表示」ウィンドウの表示方法を参照してください。
新しい「デバッグパフォーマンス」オプション
-xs
フラグ付きでコンパイルされたモジュールを、デバッグセッションの開始時に読み込むのではなく、それらのモジュールのデバッグ情報が必要となった時点で読み込むよう選択できるようになりました。このオプションの追加により、モジュールが-xs
フラグ付きでコンパイルされたときのデバッグ開始時間を短縮することができます。デフォルトでは、このデバッグオプションはオンです。詳細については、Sun WorkShop オンラインヘルプの「-xs
を使ってコンパイルしたモジュールの読み込みを遅延する」を参照してください。新しい「フォークおよびスレッド」オプション
多数 (最大 300) の LWP (軽量プロセス) を伴うプロセスをデバッグする場合、新しくデバッグ時のリソース使用量を削減するよう設定できるようになりました。ただし、それによってデバッグのパフォーマンスは低下することがあります。詳細については、Sun WorkShop オンラインヘルプの「大量の LWP のデバッグ」を参照してください。
新しい拡張オプション
デフォルトの設定では、デバッガは、
dbx
がデバッグ対象プログラムを排他的に制御するかどうかを検査します。このため、dbx
は他のツールがすでのそのプログラムに接続されていると、そのプログラムに接続できません。このバージョンでは、この動作を解除することができるようになっています。詳細については、Sun WorkShop オンラインヘルプの「プログラムの排他的制御がdbx
にあることを確認する」を参照してください。デフォルトでは、デバッガは
dbx
の機能にとって重要な一部の共有ライブラリの除外を許可していません。新バージョンでは、これらのライブラリを除外できるようになりましたが、その場合には中核のファイルしかデバッグできません。詳細については、Sun WorkShop オンラインヘルプの「重要なdbx
ライブラリの取り込みが必要」を参照してください。プロジェクトの取り扱い
この Sun WorkShop のリリースでは、プロジェクトを使って開発プロジェクトに関連付けられたファイル、プログラム、およびターゲットを追跡し、メークファイルを作成しなくてもプログラムを構築することができます。プロジェクトは、実行プログラム、静的ライブラリまたは静的アーカイブ、共用ライブラリ、Fortran アプリケーション、複雑なアプリケーション、またはユーザーメークファイルアプリケーションの構築に使用されるファイルおよびコンパイラ、デバッガ、構築関連のオプションが含まれるリストです。
以前のバージョンの Sun WorkShop では、プロジェクトの代わりにワークセットが使用されていました。プロジェクトは依然としてワークセットの性質を持っていますが (プロジェクトに関連するファイルやディレクトリを簡単にアクセスできるようにするメニューピックリストは引き続き存在)、プロジェクトはユーザーがどのようなソースファイルをどのように作成したいか、ユーザーのプログラムをよく把握しています。Sun WorkShop のワークセットが手元にある場合は、それらを読み込み時に自動的に Sun WorkShop 6 のプロジェクトに変換できます。詳細については、Sun WorkShop オンラインヘルプの「ワークセットをプロジェクトに変換する」を参照してください。
Sun WorkShop を起動すると、「Sun WorkShop にようこそ」ダイアログボックスが開き、すぐに Sun WorkShop プロジェクトとプロジェクトウィザードにアクセスできます。Sun WorkShop には、WorkShop のメインウィンドウの「プロジェクトメニュー」から利用できるプロジェクト機能があり、以下を実行できます。
- プロジェクトウィザードと自分専用のメークファイルまたは Sun WorkShop が作成してくれるメークファイルによる新しいプログラムの作成や単純なプログラムの構築 (オンラインヘルプの「プロジェクトの取り扱い」の「新規プロジェクトの作成」を参照)。
- 既存のプロジェクトの設定値の変更。設定値には、プロジェクトのコンパイル方法やソースブラウズ情報を生成させるかどうかの選択があります (オンラインヘルプの「プロジェクトの取り扱い」の「WorkShop のターゲット」を参照)。
このほか、プロジェクトを読み込まない状態で Sun WorkShop 6 プログラミング環境を使用することも可能です。ピックリストは、開発プロジェクトに関連するファイル、プログラム、ディレクトリ、ターゲットを記録します (詳細については、「WorkShop のターゲット」を参照)。各ファイルをアクセスし、ターゲットを構築し、実行形式ファイルをデバッグするといった操作を、WorkShop のメインウィンドウから行うことができます。構築ターゲット情報は常に一定ではないため編集できません。この情報は、構築ターゲットへアクセス、追加、削除するたびに変更されます。
Sun WorkShop TeamWare 6
表 2-7 は、Sun WorkShop TeamWare 6 の新機能です。一部の製品機能については、表の次の節でさらに詳しく説明しています。
表 2-7 Sun WorkShop TeamWare 6 の新機能 自動フリーズポイント
機能自動フリーズポイント機能は、特定のトランザクションの前または後にフリーズポイントファイルを自動的に作成します。フリーズポイントファイルの作成する時間をブリングオーバー、プットバック、取消し時、または衝突解決の前または後にするかを選択できます。 「バージョン管理」の「カスタマイズ
メニュー」「カスタマイズメニュー」機能は、「バージョン管理」ウィンドウに「カスタマイズ」という新しいメニューを追加し、ユーザー固有のコマンドにアクセスできるようにします。カスタマイズメニューの作成については、オンラインヘルプの「管理ファイル」の節の「カスタマイズメニューの作成」を参照してください。 デルタコメント この新オプションは、デルタ番号、所有者、コメントなどのデルタコメントをトランザクション出力と電子メール通知に追加します。「ワークスペース管理」で、「ワークスペース」/「作成ブリングオーバー」/「更新ブリングオーバー」/「プットバック」を選択して「デルタコメント」ボックスを 選択するか、または -d
オプションを付けてbringover
、putback
コマンドを使用します。ファイルマージの
「相違ナビゲータ」マージされていない 2 個のファイルの間に、「相違ナビゲータ」が表示されます。「相違ナビゲータ」の左右どちらかにあるスライドボックスをクリックすると 2 個のファイルのうち、どちらかがスクロールされ、最上部または最下部にある矢印をクリックすると両方のファイルにおいて同じ距離だけ移動します。 メニュー再編成の設定 Sun WorkShop TeamWare 6 では、ワークスペース属性のユーザーインタフェースが変更されています。 プットバックの妥当性検査 プットバックの妥当性検査をオンにすると、許可されたワークスペースだけがプットバックを行えるようになります。プットバックを行えるユーザーを管理し、特定のパスワードを要求するように設定することができます。 SCCS 管理フラグ ファイルに対して SCCS 管理フラグを設定できます。 ワークスペース完全性検査 workspace
コマンドで使用できる新オプション。check [ -W ] [ -s ] wsname ...
は、ファイル、アクセスモード、親子関係、履歴ファイルの状態をチェックします。コマンドは、ワークスペースに問題がない場合は 0 を、エラーがある場合は 1 の終了コードで終了します。ワークスペースの履歴表示 このリリースの Sun WorkShop TeamWare には、ワークスペース履歴ファイルに入っている情報を簡単に表示できる機能が含まれています。 ワークスペースのラベル この機能により、チームメンバーがすぐに理解できるような、意味のある名前をワークスペースに指定できます。「ワークスペース」で「プロパティ」を選択して、「説明」タブを選びます。 新しいマニュアル
ページdescription
(4)
メニュー再編成の設定
Sun WorkShop TeamWare 6 では、次のような変更がメニューに加えられています。
プットバックの妥当性検査
プットバック妥当性検査をオンにすると許可されたワークスペースだけがプットバックを行えるようになります。プットバックを行う場合、「パスワード」(統合要求 ID:Integration Request Identifier) の入力を指示するプロンプトが表示されます。この機能は統合要求 ID を記録するだけで、チェックは行いません。統合要求 ID のチェックを行うには、そのための妥当性検査プログラムを自分自身で作成する必要があります。詳細については、Sun WorkShop オンラインヘルプの「ワークスペースの管理」の「プットバックの妥当性検査」を参照してください。
SCCS 管理フラグ
SCCS 管理フラグを設定するには、「バージョン管理」で「ファイル」
「ファイル情報」を選択します。たとえばプットバック中に「バージョン管理」に MR (修正要求文字列) の入力要求を出させるようにするには、妥当性検査プログラムの名前を「妥当性検査プログラム」テキストフィールドに指定してください。
ワークスペースの履歴表示
このリリースの Sun WorkShop TeamWare には、ワークスペース履歴ファイルに入っている情報を簡単に表示できる機能が含まれています (「ワークスペース」
「履歴の表示」を選択)。ワークスペース履歴ビューアを利用すれば、ワークスペースのトランザクション履歴、トランザクション詳細、コメント、およびコマンドログを表示できます。エントリのソートやフィルタリングができるほか、コメントやコマンドログの検索も行えます。
Sun WorkShop Visual 6
表 2-9 では、Sun WorkShop Visual 6 で利用できる新機能を一覧表示します。一部の製品の機能については、表の次の節でさらに詳しく説明しています。
表 2-9 Sun WorkShop Visual 6 Swing サポート 新リリースの Visual 6 は、Java 1.0、1.1 に加え Java Swing コードも生成できます。Visual 6 は Motif ウィジェットの Swing コンポーネントを生成するばかりではなく、マップ可能資源の種類も増えています。画像、シェルアイコン、シェルのサイズ変更・削除応答、リスト内容、行/列エントリ位置合わせといった拡張機能を含むトグルの Swing コードを生成できるようになっています。 Windows 拡張サポート Windows MFC への X イベントのマッピングサポートがさらに強化されています。 Sun WorkShop
プロジェクトとの統合Sun WorkShop プロジェクトウィザードと併用することによって、グラフィカルユーザーインタフェースを持つプロジェクトを作成できます。
Swing サポート
新リリースの Visual 6 は、Java 1.0、1.1 に加え Java Swing コードも生成できます。Visual 6 は Motif ウィジェットの Swing コンポーネントを生成するばかりではなく、マップ可能リソースの種類も増えています。画像、シェルアイコン、シェルサイズ変更、削除応答、リスト内容、行/列エントリ位置合わせといった拡張機能が入ったトグルの Swing コードを生成できるようになっています。
標準クラスに等価性が欠落している Java に Motif コンポーネントをマップする MWT クラスライブラリを Swing に移植することによって、見た目と使い心地の整合性が改善されています。一部の Motif コンポーネントは該当する Swing コンポーネントに直接マップされるようになっているので、MWT にそれほど依存しなくとも Motif 互換のインタフェースを用意できるようになっています。
Java Layout エミュレーションウィジェットに適宜手が加えられた結果、Java Layout 特性における動作の整合性が改善されています。
他社製 (Motif 以外) コンポーネントのクロスプラットフォームコードをサポートする動きの一環として、新リリースの Visual 6 ではあらゆる統合コンポーネントのデフォルトの基本クラス指定を行なうことができるようになっています。このクラス指定は、一般的言語ベースで行うことも、個別のバリアントについて行うこともできます。たとえば、Java、Java 1.0、1.1 のデフォルトクラスや Swing 固有のクラスを指定できます。コンポーネント MFC クラスを指定することもできます。ターゲット言語において正しい種類のオブジェクトを作成するには他社コンポーネントを 1 つ 1 つ手作業で設定しなければならなかった従来の問題が解決されています。他社固有のリソースはマップされません。特定のコンポーネントを複数のネイティブオブジェクトにマップしなければならない状況や、組み込み要素を考慮すれば複合コンポーネントをマップできる状況については、対応していません。
Windows 拡張サポート
Visual 6 には、X イベントを Windows MFC にマップするための次のサポートが追加されています。
Sun Performance Library
Sun Performance LibraryTM は、線形代数およびその他数に集中した問題を解決するための最適化された高速数値演算のサブルーチンです。Sun Performance Library は、
http://www.netlib.org
にある Netlib で利用できるパブリックドメインアプリケーションのコレクションに基づいています。これらのルーチンは機能強化され 、バンドルされて Sun Performance Library となりました。表 2-11 は、Sun Performance Library の Sun WorkShop 6 リリースで使用できる新機能です。一部の製品の機能については、表の次の節でさらに詳しく説明しています。
表 2-11 Sun Performance Library の新機能 LAPACK 3.0 のサポート LAPACK 3.0 サブルーチンが追加されました。Sun Performance Library の以前のバージョンは、LAPACK 2.0 に基づいていました。 Sun Performance Library の現行バージョンでは、引き続き LAPACK 2.0 と LAPACK 1.X との互換性を保っています。 スパースソルバーパッケージ スパースソルバーパッケージは、直接的な方法およびユーザー指定の順序付けを含むフィルリダクション順序付けのアルゴリズムを使用して、スパース行列 (対称的、構造上対称的、および非対称的な係数行列) を解決するルーチンを提供します。 UltraSPARC-III のサポート UltraSPARC-III がサポートされるようになりました。UltraSPARC-III に固有のコードを使用するには、32 ビットコードの場合は -xarch=v8plusb
、64 ビットコードの場合は-xarch=v9b
のオプションを付けてコンパイルします。Fortran 95 言語機能サポート Fortran 95 言語の機能をサポートするようになりました。プログラムに F95 の文 USE SUNPERF
を含めることによって、Performance Library のモジュールと定義を使用できます。Sun Performance Library のライセンス供与に関する変更 Sun Performance Library は、ライセンスを必要としなくなりました。しかし、引き続き -xlic_lib=sunperf
を使用して、アプリケーションを正しいサポートライブラリと確実にリンクし、正しいバージョンの Sun Performance Library を選択してください。
Fortran 95 言語機能サポート
F95 の文
USE SUNPERG
をプログラムに含めることにより、Performance Library のモジュールと定義を利用することができます。これにより、以下の機能が得られます。
- 型への非依存性。FORTRAN 77 のルーチンでは、名前の一部として型を指定する必要がありました。Fortran 95では、特定のデータ型のルーチンは、そのルーチンに引き渡した引数のデータ型によって決めることができます。
- コンパイル時チェック。FORTRAN 77 では、一般的には、どのようなパラメータを特定のルーチンに引き渡すべきかをコンパイラが知ることはできません。Fortran 95 では、
USE SUNPERF
文を使用することにより、コンパイラは各 Sun Performance Library ルーチンに引き渡される各パラメータの数、型、サイズ、および形状がどのようなものであるべきかを知ることができます。コンパイラは、呼び出しの内容をその期待値と照合し、コンパイル中にエラーを見つけ出します。- 省略可能なパラメータ。FORTRAN 77 では、すべてのパラメータをすべてのルーチンについて順に指定する必要があります。Fortran 95 では、一部のパラメータが省略可能となっています。Sun Performance Library では、すべての増分パラメータ (
INCX、INCY
など)、ワークスペース、先頭次元 (LDA
、LDB
など)、長さ/サイズパラメータが省略可能です。これらの機能の使い方や例については、『Sun Performance Library ユーザーズガイド』を参照してください。
Sun Performance Library のライセンス供与に関する変更
Sun Performance Library は、もはやライセンスを必要としません。しかし、
-lsunperf
ではなく、引き続き-xlic_lib=sunperf
を使用してリンクする必要があります。-xlic_lib=sunperf
を使用して、次のことを確実に行ってください。
- アプリケーションを正しいサポートライブラリにリンクします。このリリースでは、Sun Performance Library は Fortran 77 ではなく Fortran 95 でコンパイルされています。
-xlic_lib
を使うと、Fortran 77 の実行時ライブラリではなく Fortran 95 の実行時ライブラリにリンクします。- 正しいバージョンの Sun Performance Library を使用します。
-subparallel
を使って構築したプログラムと-subparallel
を使わないで構築したプログラム、および異なる-xarch
の値では、サポートする Sun Performance Library のバージョンが異なります。-xlic_lib=sunperf
を指定すると、ドライバは、使用中のコマンド行オプションに最適な Sun Performance Library のバージョンを使用します。標本アナライザ
Sun WorkShop 6 標本アナライザは、Sun WorkShop 5.0 に装備されたアナライザを全面的に書き換えたものです。
表 2-12 は、Sun WorkShop 6 標本アナライザの新機能です。一部の製品の機能については、表の次の節でさらに詳しく説明しています。
表 2-12 標本アナライザの新機能 関数分析 主ディスプレイ (関数リスト) 新リリースにおける主ディスプレイは「関数リスト」であり、アナライザ起動時にデフォルトで表示されます。 複数の測定値 新リリースの「関数リスト」では同時に複数の種類の測定値が表示されるので、一度に表示させたい測定値 1 つを選択する必要はありません。「関数リスト」は測定値を絶対値または百分率で表示します。 「概要メトリック」ウィンドウ 「表示」メニューから利用できる新しい「概要メトリック」ウィンドウでは、選択されている関数について記録されている測定値を、値と百分率の両方で表示します。「概要メトリック」ウィンドウの内容は、関数リスト表示に表示される内容と無関係です。 「呼び出し元 - 呼び出し先」ウィンドウ 「関数リスト」から新機能である「呼び出し元 - 呼び出し先」ウィンドウにアクセスできます。このウィンドウには、関数の呼び出し側からその関数の被呼び出し側に測定値がどのように帰属されるのかが示されます。 注釈付きソースコードの生成 選択した関数について注釈付きソースコードを生成し、その結果を編集ウィンドウに表示できるようになりました。 注釈付き逆アセンブリの生成 選択した関数について注釈付き逆アセンブリを生成し、その結果を編集ウィンドウに表示できるようになりました。 サンプル、スレッド、LWP によるデータのフィルタリング 新リリースでは、サンプル、スレッド、または LWP あるいはこれらを組み合わせたものによるデータのフィルタリングを「フィルタの選択」ダイアログボックスで行えます。この結果、選択されたサブセットから取り出されたデータだけを示すように、あらゆるディスプレイとウィンドウが更新されます。 スレッド同期待機
測定値新リリースでは、指定のしきい値を超える同期イベント数とこれらのイベントからの総遅延との 2 種類のスレッド同期待機測定値を利用できます。「測定値」の詳細は、「測定値」を参照してください。 複数の実験のロード 新リリースでは、複数の実験を一度にアナライザにロードできます。これらの実験の測定値が「関数リスト」ディスプレイに表示されます。
主ディスプレイ (関数リスト)
新リリースでは、「関数リスト」が主ディスプレイであり、アナライザ起動時にデフォルトで表示されます。
関数リストでは同時に複数の種類の測定値が表示されるので、ディスプレイの型だけを変更するように「データ」リストボックスが変更されました。「ディスプレイリスト」オプションメニューは削除されました。
このリリースでは、「関数リスト」に記載されている測定値を秒/カウントによる絶対値またはプログラム全体の値に対する百分率、またはその両方の形で確認できます。「関数リスト」ディスプレイから「メトリックの選択」ダイアログボックスを呼び出して、以下が実行できます。
「呼び出し元 - 呼び出し先」ウィンドウ
「関数リスト」から新機能である「呼び出し元 - 呼び出し先」ウィンドウにアクセスできます。このウィンドウには、関数の呼び出し元からその関数の呼び出し先に測定値がどのように帰属されるのかが示されます。「呼び出し元 - 呼び出し先」ウィンドウでは、選択されている関数がディスプレイ中央に表示され、この関数の呼び出し側は上のパネルに、この関数の呼び出し元は下のパネルに示されます。選択された関数について、この関数内部における使用率が、帰属測定値によって示されます。上の呼び出し元については、選択されている関数内とこの関数が呼び出す全関数内における使用率が、呼び出しスタックを呼び出し元までたどって示されます。下の呼び出し元については、選択されている関数からの呼び出しに帰属する呼び出し元測定値の割合が示されます。
呼び出し元パネルと呼び出し先パネルのどちらかで関数をクリックすれば、「呼び出し元 - 呼び出し先」ウィンドウでプログラムの構造内をナビゲートできます。ディスプレイは、新たに選択された関数を基準としてセンタリングし直します。
注釈付きソースコードの生成
新リリースでは、選択した関数について注釈付きソースコードを生成し、その結果を編集ウィンドウに表示できるようになりました。ソースコードには、「関数リスト」と同じ測定値セットを使った、行単位の測定値の注釈が付きます。コンパイラの並列化のコメントと Fortran 95 の copyin/copyout のコメントも、ソースとインタリーブされた状態で入ります。ソースコードディスプレイでは、
-g
によるコンパイルを必要とし、最適化コードに対して有効となります (-g
では最適化と並列化を使用不可にすることはできなくなりました)。注釈付き逆アセンブリの生成
選択した関数について注釈付き逆アセンブリを生成し、その結果を編集ウィンドウに表示できるようになりました。逆アセンブリには、「関数リスト」と同じセットを使った、命令単位の測定値の注釈が付きます。また逆アセンブリには、コンパイラのコメントとインタリーブされたソースも入ります。
測定値
Sun WorkShop 6 アナライザでは、以下のとおり、新しい測定値が加わり、既存の測定値が変更されました。
- 実行プロファイルデータは、新リリースでは時間ベースのプロファイリングと呼びます。実行プロファイルデータには常に呼び出された関数の回数が含まれます。
- ヒストグラムデータは、新リリースでは排他的測定値と呼びます。
- 累積データ測定値は、新リリースでは包含的測定値と呼びます。
- クロックベースのプロファイルデータは以下の測定値を生成します。
- 新しい種類のデータであるスレッド同期待機遅延追跡が装備され、以下の測定値を生成します。
その他の変更事項
Sun WorkShop 6 標本アナライザでは、その他にも以下の変更を加えています。
- 「概要」ディスプレイでサンプルをクリックしてサブセットを選択する方法は、このリリースでは使用できなくなっています。「標本の選択」テキストボックスと矢 印ボタンは新リリースのアナライザには備わっていないので、「表示」メニューに選択コマンドが表示されることはありません。サンプル、スレッド、LWP のフィルタ選択は、すべて「フィルタの選択」ダイアログボックスで行なってください。
- アナライザの中から実験記録ファイルを削除できなくなっています。「実験」
「削除」 コマンドはなくなり、代わりにアナライザから実験を解除できる 「実 験」
「解除」 コマンドが用意されています。
er_rm
コマンドによって削除しないかぎり、実験記録ファイルはディスク上に存在したままとなります。er_export
ASCII データのフォーマットが完全に変更されました (er_export
はデバッグをする場合に限り使用されます)。インストール
表 2-13 は、Sun WorkShop 6 の新しいインストール機能です。
表 2-13 インストールの新機能 Web Start Web Start は、新しい GUI インストールソフトウェアです。 FLEXlm 7.0 FLEXlm 7.0 は、Sun WorkShop 6 とともに提供されるライセンスマネージャソフトウェアです。
HTML 形式のドキュメント
Sun WorkShop 6 および Sun WorkShop TeamWare 6 のマニュアル、マニュアルページと README は、テキスト形式のファイルとともに HTML 形式のファイルも用意されています。オンラインヘルプはこのバージョンから HTML 形式に変わっています。
HTML 形式で利用できる Sun WorkShop 6 のマニュアルを表示するには、NetscapeTM Communicator 4.0 または同互換の Netscape バージョンが必要です。NetscapeTM Communicator は SolarisTM 7 オペレーティング環境 と SolarisTM 8 オペレーティング環境に含まれています。
Solaris 2.6 オペレーティング環境を使用していて Netscape Communicator 4.0 または同互換バージョンがお手元にない場合は、以下の Netscape Communications Corporation の Web サイトから Netscape Communicator 4.7 をダウンロードできます。
http://www.netscape.com/download/index.html
Sun WorkShop のオンラインヘルプ (HTML 形式) では、JavaScript が使用可能になっていなければなりません。JavaScript は Netscape のデフォルトの設定では、使用可能になっています。
HTML 形式のインストール済み Sun WorkShop 6 ドキュメントにアクセスするには、ブラウザで次のファイルを指定してください。
file:/opt/SUNWspro/docs/index.html
Sun WorkShop ソフトウェアが
/opt
以外のディレクトリにインストールされている場合は、システム管理者に実際のパスをお尋ねください。
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |