OpenVMS

OpenVMS

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

AA-RVXUA-TE


2004 年 2 月

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

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




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


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

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

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

本書の著作権は日本ヒューレット・パッカード株式会社が保有しており,本書中の解説および図,表は弊社からの文書による許可なしに,その全体または一部を,いかなる場合にも再版あるいは複製することを禁じます。

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

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

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

原典:HP C Run-Time Library Reference Manual for OpenVMS Systems
© 2003 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>

次へ 目次 索引


まえがき

本書では,HP C ランタイム・ライブラリ ( HP C Run-Time Library (RTL) ) について説明します。入出力 (I/O) 操作,文字および文字列操作,算術演算,エラー検出,サブプロセスの生成,システム・アクセス,画面管理を行う C RTL 関数およびマクロに関する参照情報を示します。また,オペレーティング・システム間の移植性に関する問題点も示します。

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

本書や HP C のドキュメントに関するご意見は,次のインターネット・アドレスに英文でご送付ください。

c_docs@hp.com

本書の対象読者

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

本書の構成

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

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

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

関連ドキュメント

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

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

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

http://www.hp.com/jp/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 アーキテクチャの両方で OpenVMS オペレーティング・システムに適用される情報を示します。

次のように特に指定した場合を除き,本書の情報は両方のプラットフォームに適用されます。

ラベル 説明
(Alpha only) OpenVMS オペレーティング・システムが稼動している Alpha プロセッサ (Alpha アーキテクチャ) 固有。
(VAX only) OpenVMS オペレーティング・システムが稼動している VAX プロセッサ固有。

新機能と変更された機能---OpenVMS バージョン 7.3-2

OpenVMS バージョン 7.3-2 で, C ランタイム・ライブラリの以下の機能が拡張されました。これらの拡張により,UNIX 移植性と,追加のユーザ制御機能を選択する際の柔軟性が改善されます。また,新しい C RTL 関数も含まれています。

POSIX 形式の識別子

POSIX 形式の識別子のサポートが,C RTL に追加されました。これにより,UNIX 移植性と,標準への準拠性が高まります。 POSIX 形式の識別子とは,ユーザ識別子 (UID),グループ識別子 (GID),およびプロセス・グループを指します。このスコープには,実識別子と実効識別子が含まれます。

C RTL での POSIX 形式の識別子のサポートには, 32 ビットのユーザ ID およびグループ ID のサポートが必要です。また,OpenVMS のベース・バージョンの機能にも依存します。 POSIX 形式の ID は, OpenVMS バージョン 7.3-2 およびそれ以降でサポートされます。

POSIX 形式の識別子を使用するには,アプリケーションは, 32 ビット UID/GID 用にコンパイルされていなければなりません ( __USE_LONG_GID_Tマクロを定義する)。また,DECC$POSIX_STYLE_UID 機能論理名に ENABLE を定義して, POSIX 形式の ID を有効にしなければなりません。

POSIX 形式の ID を無効にするには, DECC$POSIX_STYLE_UID に DISABLE を定義します。

一部のソケット・ルーチンでの 64 ビット・ポインタのサポート

64 ビット・ポインタのサポートが,次の TCP/IP ソケット・ルーチンに追加されました。


freeaddrinfo   recvmsg 
getaddrinfo    sendmsg 

これまでは,これらのルーチンには, 32 ビット・インタフェースしかありませんでした。

子プロセスのデフォルト・ディレクトリの設定

vfork/ exec* によって作成される子プロセスのデフォルト (作業) ディレクトリを, C RTL の新しい decc$set_child_default_dir関数を使用して設定できるようになりました。

新しい機能論理名

以下の新しい機能論理名により,標準への準拠性と, UNIX 移植性が高まります。


次へ 目次 索引