本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP aC++ バージョン A.03.55 リリースノート > 第1章 HP aC++ リリースノート

バージョン A.03.50 の新機能

≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

HP aC++ バージョン A.03.50 では、次の新機能がサポートされました。

-AA オプションを指定した PCH (プリコンパイラヘッダー) の完全サポート

-AA オプションを指定した PCH (プリコンパイラヘッダー) が完全にサポートされました。これにより、PCH 機能が STL (Standard Template Library) と共に使用できます。

DOC (デバッグオプティマイズコード)

最適化されたコード (最適化レベル +O2) のデバッグ機能で、ロバスト性が高くなりました。テンプレート関数のデバッグがさらに改良されました。

+O[no]clone オプション

このオプションを使用して、オプティマイザのクローン生成機能をオン/オフに切り替えることができます。主に、クローンが多いとコードの性能に悪影響を受けるような場合に、クローンを抑制するのに使用します。

デフォルトの設定はオンです。最適化レベル +O3 および +O4 で有効になります。インライン展開がオフに設定されていると、クローン生成もオフに設定されます。

+O[no]memory[=malloc]

このオプションを使用して、メモリーの最適化を有効/無効にすることができます。また、malloc をリストに指定すると、メモリー割り当てのプロシージャコールを伴った最適化を有効/無効にします。このオプションは、デフォルトの設定では「無効」です。また、+Oopenmp および +Oparallel と互換性が無いので、+Oopenmp および +Oparallel オプションが有効になっている場合にはこのオプションは無視されます。

PA8800 におけるプリフェッチとデータの局所性の改良

PA8800 プロセッサのキャッシュ行のサイズが長くなったため (128 bytes)、コンパイラが、データのプリフェッチとデータの局所性を改良した効率的なコードを生成できるようになりました。これにより、ループが多用されているアプリケーションのパフォーマンスが向上されます。

+Oexception オプションでの最適化レベル +O2 の例外処理コードシーケンス最適化の改良

try/catch 文が含まれるコード部に対して、コンパイラは、さらにロバスト性の高い最適化を行うようになりました。これにより、大量の例外処理をもつ C++ アプリケーションのパフォーマンスが向上されます。これは、+Oexception オプションを指定すると有効になります。

restrict キーワード

これは C99 の機能です。restrict キーワード は、ポインターを修飾し、restrict として宣言したポインター変数が別名定義されていないことをオプティマイザに示すのに使用します。これにより、オプティマイザは別名定義の解析を効率よく行うことができます。

このリリースでは、restrict キーワードのみをサポートし、この機能による最適化は行われません。

aCC での +O3/+O4 のロバスト性の向上

最適化レベル +O3/+O4 のロバスト性と有用性が C++ アプリケーションのために改良されました。これにより、C++ で書かれたユーザーアプリケーションのパフォーマンスが向上します。

gdb での steplast のサポート

gdb の 新しい steplast コマンドを使用するには、-g0 オプションのみを指定して C++ プログラムをビルドする必要があります。

注記: この機能のサポートでデバッグ情報が余分に出力されるため、DDE 実行中に、互換性に関する小さな問題が発生する可能性があります。具体的には、-g0 オプションを指定してビルドした際に、DDE 内から次のようなメッセージを受け取ることがあります。
  ?(dde/ui_line) File ".../test.c" has only NNN lines.
Stopped at: \\test\main\134217746 (00002404)

このような場合は、環境変数 aCC_ENABLE_STEPLASTOFF を設定すると、余分なデバッグ情報の出力を抑制することができます。

$ export aCC_ENABLE_STEPLAST=OFF

+Olit=[all | none] オプション

+Olit オプションは、読み取り専用データセクションに配置されるデータ項目の型を指定します。+Olit には all または none の値を指定することができます。

+Olit=all は、すべての文字列変数と、ロード時や実行時の初期化を必要としないすべての定数修飾変数を読み取り専用データセクションに配置します。

+Olit=none を指定した場合、定数は読み取り専用データセクションに配置されません。

C++ ランタイム共有ライブラリ (libCsup) の動的アンロード

共有ライブラリ libCsup に直接的または間接的に依存していた C++ 共有ライブラリが、安全に動的ロードおよびアンロードできるようになりました。今後は、main が C++ 以外の実行可能プログラムをビルドするときに、リンク行に -lCsup を指定する必要はありません。

32 ビットモードでのプラグマ INIT およびプラグマ FINI

プラグマ INIT および FINI が 32 ビットモードでも実行できるようになりました。これらのプラグマの機能は 64 ビットモードと同じです。詳細は、aCC のオンラインヘルプ (aCC +help) を参照してください。

必須パッチ

すべての新機能を有効にするために以下のパッチをインストールする必要があります。

HP-UX B.11.00 の場合:

  • PHSS_28879 (aC++ ランタイム)

  • PHSS_28869 (リンカー)

HP-UX B.11.11 の場合:

  • PHSS_28880 (aC++ ランタイム)

  • PHSS_28871 (リンカー)

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 2004 Hewlett-Packard Development Company, L.P.