日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル >  V8.3ライブラリ

OpenVMS マニュアル


HP OpenVMS

HP C ランタイム・ライブラリ・
リファレンス・マニュアル (上巻)

5991-6625


2006 年 10 月

本書は,OpenVMS システム用の HP C ランタイム・ライブラリの機能とマクロについて説明します。

改訂/更新情報: 本書は『 HP C Run-Time Library Reference Manual for OpenVMS Systems』の改訂版です。
ソフトウェア・バージョン: HP OpenVMS I64 V8.3
HP OpenVMS Alpha V8.3
OpenVMS VAX V7.3




日本ヒューレット・パッカード株式会社


© Copyright 2006 Hewlett-Packard Development Company, L.P.

本書の著作権は Hewlett-Packard Development Company, L.P. が保有しており,本書中の解説および図,表は弊社からの文書による許可なしに,その全体または一部を,いかなる場合にも再版あるいは複製することを禁じます。

また,本書に記載されている事項は,予告なく変更されることがありますので,あらかじめご承知おきください。万一,本書の記述に誤りがあった場合でも,弊社は一切その責任を負いかねます。

本書で解説するソフトウェア ( 対象ソフトウェア ) は,所定のライセンス契約が締結された場合に限り,その使用あるいは複製が許可されます。

弊社は,弊社または弊社の指定する会社から納入された機器以外の機器で対象ソフトウェアを使用した場合,その性能あるいは信頼性について一切責任を負いかねます。

UNIX® は, The Open Group の登録商標です。

X/Open® は,英国およびその他の国における X/Open Company Ltd. の登録商標です。

Intel® および Itanium® は,米国およびその他の国における Intel Corporation またはその子会社の商標または登録商標です。

原典:HP C Run-Time Library Reference Manual for OpenVMS Systems
© 2006 Hewlett-Packard Development Company, L.P. <copyright_page_continued>

HP C ランタイム・ライブラリの一部は,カリフォルニア大学バークレイ校およびその協力者 (contributors) が著作権を保有するソースを使用して実装されています。

Copyright (c) 1981 Regents of the University of California.

All rights reserved.

次の条件が満たされる場合,変更されているかかどうかにかかわらず,ソースおよびバイナリ形式の再配布と使用が認められます。

  1. ソース・コードを再配布する際は,上記の著作権に関する通告,再配布と使用に関するこの条件一覧,以下の免責事項を添付する必要があります。

  2. バイナリ形式での再配布の際は,添付するドキュメントや他のマテリアルとともに,上記の著作権に関する通告,再配布と使用に関するこの条件一覧,以下の免責事項を添付する必要があります。

  3. 本ソフトウェアの機能や本ソフトウェアを使用していることを記載した宣伝広告資料すべてに,次の情報を記載する必要があります。「本製品には,カリフォルニア大学バークレイ校およびその協力者が開発したソフトウェアが含まれています。」

  4. 事前に書面による承認を受けない限り,本ソフトウェアを利用して開発された製品の宣伝や販売促進で,大学の名前や協力者の名前を使用することは認められません。

本ソフトウェアは,開発者および協力者が提供するものを「そのまま」提供するものであり,商品性や特定の目的への適合性の暗黙の保証も含めて ( これらに限定されません ),いかなる表明や暗黙の保証も適用されません。いかなる場合も,開発者および協力者は,直接的または間接的損害,事故による損害,特別損害など ( たとえば,代替商品やサービスの調達の必要性,製品が使用できなくなる障害,データや収益の消失,ビジネスの中断など ) の発生の責任を負いません。さらに,本ソフトウェアの使用によって発生する契約上の責任,無過失責任,不法行為 ( 過失によるもの他 ) に関しても,そのような損害の可能性があらかじめ助言されていた場合でも,開発者および協力者は一切の責任を負いません。 <endcopyright_page_continued>

次へ 目次 索引




まえがき

本書では,VAX,Alpha,および Intel Itanium プロセッサ上の OpenVMS オペレーティング・システムの HP C Run-Time Library (RTL) について説明します。 HP OpenVMS Industry Standard 64 for Integrity Servers は, Intel Itanium プロセッサ対応 OpenVMS オペレーティング・システムの正式な製品名です。本書では,短縮形の OpenVMS I64 および I64 も使用します。

本書は,入出力 (I/O) 操作,文字および文字列操作,算術演算,エラー検出,サブプロセスの生成,システム・アクセス,画面管理,UNIX の一部の機能のエミュレーションを行う C RTL 関数およびマクロに関する参照情報を示します。また,オペレーティング・システム間の移植性に関する問題点も示します。

HP C RTL には,XPG4 準拠の国際化サポートが含まれており,異なる言語やカルチャで動作可能なソフトウェアを開発するのに役立つ関数が提供されます。

HP C コンパイラおよび C++ コンパイラとともに使用する必要がある完全な HP C ランタイム・ライブラリ (C RTL) は, OpenVMS Alpha オペレーティング・システムおよび I64 オペレーティング・システムで,共用イメージおよびオブジェクト・モジュール・ライブラリの両方の形式で提供されます。

本書では,TCP/IP サービス・プロトコルを使用したインターネット・アプリケーションを作成するためのソケット・ルーチンについては説明していません。ソケット・ルーチンのヘルプについては,次のコマンドを実行してください。


$ HELP TCPIP_Services Programming_Interfaces Sockets_API 

また,製品マニュアル『HP TCP/IP Services for OpenVMS』も参照してくだだい。

本書の対象読者

本書は, HP C RTL で提供される関数とマクロに関する参照情報が必要な,経験の豊富なプログラマおよび初心者のプログラマを対象にしています。

本書の構成

本書は次の章と付録で構成されています。

  • 第 1 章 では, HP C RTL の概要を示します。

  • 第 2 章 では,標準 I/O,端末 I/O,UNIX I/O 関数について説明します。

  • 第 3 章 では,文字,文字列,引数リスト関数について説明します。

  • 第 4 章 では,エラー処理関数とシグナル処理関数について説明します。

  • 第 5 章 では,サブプロセスを生成するために使用される関数について説明します。

  • 第 6 章 では,Curses 画面管理関数について説明します。

  • 第 7 章 では,算術演算関数について説明します。

  • 第 8 章 では,メモリ割り当て関数について説明します。

  • 第 9 章 では,オペレーティング・システムとやり取りするために使用される関数について説明します。

  • 第 10 章 では,国際化ソフトウェアの開発のために OpenVMS システムの HP C 環境で提供される機能について,その概要を紹介します。

  • 第 11 章 では,日付 / 時刻関数について説明します。

  • 第 12 章 では,シンボリック・リンクと POSIX パス名のサポートについて説明します。

  • 付録 A では,異なる OpenVMS バージョンでサポートされる HP C RTL 関数の一覧を示した,バージョン依存の表を示します。

  • 付録 B では,複数のヘッダ・ファイルに重複している関数プロトタイプを示します。

リファレンス・セクションについて

『HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)』はリファレンス・セクションで HP C RTL のすべての関数について説明しています。



関連ドキュメント

OpenVMS システム向けのプログラムを HP C で作成する場合,次のドキュメントが役立ちます。

  • 『HP C User's Guide for OpenVMS Systems』 --- HP C for OpenVMS Systems の使用方法に関する情報が必要な C プログラマを対象にしています。

  • 『HP C Language Reference Manual』 --- HP システムでの HP C の言語リファレンス情報を示します。

  • 『VAX C to HP C Migration Guide』 --- OpenVMS VAX アプリケーション・プログラマが VAX C から HP C に移行するのに役立ちます。

  • 『HP C Installation Guide for OpenVMS VAX Systems』 --- VAX システムに HP C ソフトウェアをインストールする OpenVMS システム・プログラマを対象にしています。

  • 『HP C Installation Guide for OpenVMS Alpha Systems』 --- Alpha システムに HP C ソフトウェアをインストールする OpenVMS システム・プログラマを対象にしています。

  • 『OpenVMS Master Index』 --- VAX および Alpha マシン・アーキテクチャや OpenVMS システム・サービスを使用する必要のあるプログラマを対象にしています。このインデックスには, OpenVMS オペレーティング・システムへのアクセスに関する個別のトピックを説明したドキュメントの一覧が示されています。

  • 『HP TCP/IP Services for OpenVMS Sockets API and System Services Programming』 --- HP TCP/IP Services for OpenVMS 製品または他の TCP/IP プロトコル実装用の,インターネット・アプリケーション・プログラムを作成するためのソケット・ルーチンについての情報を示します。

  • 『HP TCP/IP Services for OpenVMS Guide to IPv6』 --- HP TCP/IP Services for OpenVMS の Ipv6 機能や,システム上での IPv6 のインストールや構成方法,ソケット・アプリケーション・プログラミング・インタフェース (API) の変更, IPv6 環境で動作させるためにアプリケーションを移植する方法についての情報を示します。

  • 『X/Open Portability Guide, Issue 3』 --- 一般に XPG3 と呼んでいる仕様について解説しています。

  • 『X/Open CAE Specification System Interfaces and Headers, Issue 4』 --- 一般に XPG4 と呼んでいる仕様について解説しています。

  • 『X/Open CAE Specification, System Interfaces and Headers, Issue 4, Version 2』 --- 一般に XPG4 V2 と呼んでいる仕様に関して解説しています。

  • 『X/Open CAE Specification, System Interfaces and Headers, Issue 5』 --- 一般に XPG5 と呼んでいる仕様に関して解説しています。

  • 『Technical Standard. System Interfaces, Issue 6』 --- Open Group の技術標準と IEEE 標準を組み合わせたものです。 XPG6 とも呼ぶ IEEE Std 1003.1-2001 仕様に関して解説しています。

  • 『Standard for Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API)---Amendment 2: Threads Extension [C Language]』 --- 一般に POSIX 1003.1c-1995 と呼んでいる仕様に関して解説しています。

  • 『ISO/IEC 9945-2:1993 - Information Technology - Portable Operating System Interface (POSIX) - Part 2: Shell and Utilities』 --- 一般に ISO POSIX-2 と呼んでいる仕様に関して解説しています。

  • 『ISO/IEC 9945-1:1990 - Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Programming Interface (API) (C Language)』 --- 一般に ISO POSIX-1 と呼んでいる仕様について解説しています。

  • 『ANSI/ISO/IEC 9899:1999 - Programming Languages - C』 --- 1999 年 12 月に ISO によって公開され, 2000 年 4 月に ANSI 標準として採用された C99 標準について解説しています。

  • 『ISO/IEC 9899:1990-1994 - Programming Languages - C, Amendment 1: Integrity』 --- 一般に ISO C,Amendment 1 と呼んでいる仕様について解説しています。

  • 『ISO/IEC 9899:1990[1992] - Programming Languages - C』 --- 一般に ISO C と呼んでいる仕様について解説しています。標準的な部分 (normative part) は X3.159-1989, American National Standard for Information Systems - Programming Language C (ANSI C とも呼ぶ) と同じです。

HP OpenVMS 製品およびサービスについての詳細は,弊社の Web サイトを参照してください。アドレスは次のとおりです。

http://www.hp.com/go/openvms

//www.hpe.com/jp/openvms

本書で使用する表記法

表記法 意味
HP OpenVMS Industry Standard 64 for Integrity Servers, OpenVMS I64,I64 Intel Itanium アーキテクチャで動作する OpenVMS オペレーティング・システムです。
OpenVMS システム 特に明記しない限り,サポートする全プラットフォームの OpenVMS オペレーティング・システムを指します。
[Return] [Return] は端末上の Return キーを 1 回押すことを示します。
Ctrl/X Ctrl/X (英字の X は端末の制御文字を表す) は, Ctrl キーを押したまま指定の端末文字キー (X) を押すことを示します。
switch
int データ型
fprintf 関数
<stdio.h> ヘッダ・ファイル
モノスペース文字は言語キーワードおよび HP C 関数とヘッダ・ファイルの名前を示します。また,例で使用している特定の変数名を参照するときも使用します。
arg1 斜体は引数やパラメータ名を示すプレースホルダとして使用し,新出用語を強調するときも使用します。
$ RUN CPROG [Return] ユーザと対話する例では,ユーザ入力は太字で示します。
float x; .
.
.

x = 5;
垂直方向の省略記号は,プログラムやプログラムからの出力の一部が省略されていることを示します。例では関連する部分だけが示されています。
option,... 水平方向の省略記号は,パラメータ,オプション,値を追加入力できることを示します。省略記号の前のコンマは,後続の項目の区切り文字を表します。
[output-source,...] 関数構文やその他の場所で使用している角括弧は,その構文要素が省略可能であることを示します。しかし,OpenVMS ファイル指定でディレクトリ名を区切るために使用する角括弧や, HP C ソース・コードで多次元配列の次元を区切るために使用する角括弧は省略できません。
sc-specifier::=
auto
static
extern
register
構文定義で,別々の行に示されている項目は組み合わせて指定できないことを示します。
[a|b] 2 つ以上の項目が縦線 (|) で区切られ,角括弧で囲まれている場合は, 2 つの構文要素のいずれかを選択しなければならないことを示します。
<ucDelta symbol> デルタ記号は,1 文字の ASCII スペース文字を表します。



プラットフォーム・ラベル

プラットフォームは,異なる環境を提供するオペレーティング・システムとハードウェアの組み合わせです。本書では,VAX,Alpha,Itanium プロセッサで動作する OpenVMS オペレーティング・システムに適用される情報を示します。

次のように特に指定した場合を除き,本書の情報はすべてのプロセッサに適用されます。

ラベル 説明
(Alpha only) Alpha プロセッサ固有。
(I64 only) OpenVMS オペレーティング・システムが動作している Intel Itanium プロセッサ固有。このプラットフォームでは,オペレーティング・システムの製品名は OpenVMS Industry Standard 64 (またはその短縮形 OpenVMS I64 あるいは I64) です。
(VAX only) VAX プロセッサ固有。
(Alpha, I64) I64 プロセッサおよび Alpha プロセッサ固有。



新機能と変更された機能 - OpenVMS Version 8.3

ここでは,OpenVMS Version 8.3 で行われた C ランタイム・ライブラリ (RTL) の拡張について説明します。これらの拡張によって,UNIX との間の移植性,標準への準拠性,およびユーザ制御機能を選択する際の柔軟性が改善されています。また,新しい C RTL 関数も含まれています。

シンボリック・リンクと POSIX 準拠パス名のサポート

V8.3 以降の OpenVMS では, Open Group 準拠のシンボリック・リンクと, POSIX 準拠のパス名がサポートされています。このサポートは, UNIX/LINUX のアプリケーションを OpenVMS へ移植する場合や, UNIX スタイルの開発環境を使用してアプリケーションを開発する場合に,その移植に伴っていた複雑さや開発コストの負担を軽減するために拡張されたものです。

ただし,このサポートがあるからといって, OpenVMS システムで UNIX ファイルの互換性が 100% 保証されるわけではありません。場合によっては,OpenVMS へ UNIX/LINUX のアプリケーションを移植する際に,それらのアプリケーションを変更しなければならないこともあります。

OpenVMS では,シンボリック・リンクと POSIX パス名の処理をサポートするために,以下の機能を提供しています。

  • C ランタイム・ライブラリに,次に示す Open Group 準拠のシンボリック・リンク関数が追加されています。


    symlink 
    readlink 
    unlink 
    realpath 
    lchown 
    lstat 
    

  • creatopendelete,および removeなどの既存の C RTL 関数が, Open Group のシンボリック・リンク仕様に従って動作するようになっています。

  • RMS が拡張されて,C RTL に上記の関数を実装できるようになりました。 SYS$OPEN,SYS$CREATE,SYS$PARSE, SYS$SEARCH などの RMS ルーチンで,シンボリック・リンクをサポートできるようになっています。

  • OpenVMS でファイルを検索したりそのパスをたどったりしているときにシンボリック・リンクが検出されると,その内容が POSIX のパス名として解釈されるようになりました。 OpenVMS の C RTL と RMS のインタフェースで POSIX のパス名が使用できるようになっています。

  • C RTL に新しい機能論理名 DECC$POSIX_COMPLIANT_PATHNAMES が追加されて,アプリケーションが POSIX 準拠モードで動作することを指示できるようになっています。

  • シンボリック・リンクの作成には,DCL コマンド CREATE/SYMLINK を使用します。

  • システムの POSIX ルートを作成するには,DCL コマンド SET ROOT を使用します。

  • マウント・ポイントを設定するために,2 つの GNV ユーティリティ mntumntが用意されています。

  • DCL コマンドおよびユーティリティが変更されて,シンボリック・リンクの操作や,シンボリック・リンクを検出した場合の処理を適切に行えるようになっています。

  • TCP/IP Services for for OpenVMS Network File System (NFS) のクライアントとサーバが拡張されて,ODS5 ボリューム上でシンボリック・リンクをサポートできるようになっています。

  • ln(シンボリック・リンクの作成) や ls(シンボリック・リンクの内容の表示) などの関連 GNV ユーティリティがアップデートされて,シンボリック・リンクのアクセスと管理が行えるようになっています。

シンボリック・リンクと POSIX パス名に関する処理の詳細については, 第 12 章 を参照してください。


次へ 目次 索引



         印刷用画面へ

プライバシー 本サイト利用時の合意事項