| 日本−日本語 |
|
|
|
![]() |
HP C/ANSI C バージョン B.11.11.16 リリースノート > 第1章 HP C/ANSI C リリースノートこのバージョンの概要 |
|
この項では、このバージョンの HP C コンパイラで導入された新機能の概要を説明します。 HP C コンパイラのバージョン B.11.11.16 では、次の新機能がサポートされました。 このリリースでは、プログラマが C および C++ ソースコード内のさまざまなプログラミングエラーを検出するための新しいツール HP Code Advisor (cadvise) が追加されました。 このツールを使用すると、潜在的なコーディングエラー、移植に関する問題、セキュリティエラーなどを検出できます。 ツールを起動するには、コマンド行から /opt/cadvise/bin/cadvise を実行します。 このツールの各種オプションの使用方法については、HP Code Advisor のリリースノートを参照してください。 HP Code Advisor の最新バージョンは、次のサイトから無料でダウンロードできます。
HP C バージョン B.11.11.16 は、array[__restrict] 表記法をサポートしています。 __restrict を配列の添え字として使用した場合、コンパイラは、配列内の要素が他のポインターにより変更されることは一切ないという前提で最適化を実行します。 このバージョンの HP C では、-Ae コンパイルモードにおける、名前のない構造体および共用体に対するサポートが強化されています。これは、現在のデフォルトのコンパイルモードです。 次の例は、名前のない共用体の構文とその利便性を示したものです。
この例からわかるとおり、名前のない共用体のメンバーには、共用体の名前を指定することなく直接アクセスすることができます。 共用体のメンバーにアクセスする都度、共用体の名前を指定することが、コードの読解や理解の助けとならず、構文上の単なるオーバーヘッドとなる場合は、この方法が非常に有効です。 名前のない構造体の構文も同様で、その利便性も同じです。 HP C ドライバが 11.31 上で UNIX 2003 標準をサポートするようになりました。 環境変数 UNIX_STD を 2003 に設定すると、HP C ドライバは適切なサポートオブジェクトを実行可能ファイルに自動的にリンクします (オブジェクトがシステム上に存在する場合)。 UNIX 2003 サポートオブジェクトをリンクすることにより、標準の C ライブラリ関数が UNIX 2003 標準に準拠した動作を行うようになります。 以下は、システム内に存在する UNIX 2003 構成ファイルを示したものです。
HP C コンパイラは、UNIX 1998 および 1995 標準をすでにサポートしています。 このバージョンの HP C は可変長配列メンバーをサポートしており、境界を指定しない配列構造体メンバーの使用が可能です。 可変長配列メンバーは、1 つ以上の名前付きメンバーを持つ構造体の要素となることができ、可変長オブジェクトへのアクセスに使用できます。 宣言には空の添え字を使用します。 例:
可変長配列メンバーには、以下の規則が適用されます。
可変長配列メンバーは、コマンド行からレコードを読み取って、可変長の情報を取り出すような場合に特に便利です。 たとえば、次のコード例について考えてみましょう。
以下は、可変長配列メンバーを使うように修正したコードです。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||