名前 | 機能説明 | 定義 | MT レベルのライブラリ | ファイル | 関連項目 | 診断 | マルチスレッドアプリケーションに関する注意事項 | リアルタイムアプリケーション | 注意事項 | コマンド一覧
このセクションでは、さまざまな Solaris ライブラリにある関数のうち、直接 UNIX システムのプリミティブを呼び出す関数 (このマニュアルページのセクション 2 で説明) 以外の関数について説明します。関数の宣言は、各ページで説明されている #include ファイルから取得できます。このセクションの説明はライブラリ別になっています。各ライブラリは、セクション番号の後ろに入っているライブラリ名 (ライブラリの省略名) で識別できます。関連のあるライブラリのコレクションは、下記に示すように大きく 5 つのボリュームに分かれており、6 番目のボリュームは、この 5 つのボリュームで説明されている関数、マクロ、外部変数が使用する共有ライブラリとヘッダーの内容説明になっています。ここでは、まず、この 6 番目のボリュームから説明します。
このボリュームでは、他の 5 つのボリュームで説明されている関数、マクロ、外部変数が使用する共有ライブラリとヘッダーの内容について説明します。
このセクションで説明するライブラリはどれも、共有オブジェクトとして実装されています。
共有オブジェクトの説明には、共有オブジェクトの共有インタフェースを定義する大域シンボルの定義が含まれていることがあります (例: SUNW_1.1)。このほかのインタフェースは、共有オブジェクトに含まれている可能性があります (例: SUNW_private.1.1)。共有インタフェースは、アプリケーション開発用に、安定度の高い専用のシンボルセットを提供します。専用インタフェースは内部使用のみであり、随時変更される可能性があります。
共有オブジェクトの多くには、32 ビットのシステムのみで下位互換性を提供するアーカイブライブラリが用意されています。このようなライブラリを使用すると、アプリケーションによっては別の Solaris リリースに移行することができなくなる場合があります。このため、Solaris では、このようなライブラリの代わりにダイナミックリンクを使用するコンパイル方式が優先されます。
このセクションで説明する SunOS/BSD 互換ライブラリは、共有オブジェクトとして実装されています。上記の (3LIB) を参照してください。
このセクションで説明するヘッダーは、関数、マクロ、外部変数が使用するヘッダーです。ヘッダーには、関数のプロトタイプ、記号定数の定義、共通の構造体、プリプロセッサマクロ、定義済みの型が含まれています。残りの 5 つのボリュームで説明されている各関数は、この関数を使用するためにアプリケーションに含めなければならないヘッダーを指定します。多くの場合、必要なヘッダーは 1 つだけです。このようなヘッダーは、アプリケーション開発システムに配置されます。実行システムに配置する必要はありません。
このボリュームで説明する関数は、アプリケーション開発の基本となるコア C ライブラリ関数です。
セクション 2 の関数とともに標準 C ライブラリ libc を構成する関数です。libc は、C コンパイルシステムにより自動的にリンクされます。標準 C ライブラリは共有オブジェクト libc.so、アーカイブ libc.a として実装されています。C プログラムは、デフォルトで、標準 C ライブラリの共有オブジェクトバージョンにリンクされます。アーカイブバージョンにリンクするには、cc コマンド行で -Bstatic または -dn を指定します。このほかの優先指定については、libc(3LIB)、cc(1B) を参照してください。『ANSI C Programmer's Guide』の「C Compilation System」の章にも参考になる情報があります。規格に合致した環境では、動作が異なる関数もあります。こうした動作については、個々のマニュアルページで説明されています。standards(5) を参照してください。
ダイナミックリンクライブラリ libdl を構成する関数です。このライブラリは共有オブジェクト libdl.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。cc コマンド行で -ldl を指定すると、このライブラリにリンクできます。libdl(3LIB) を参照してください。
libmalloc、libbsdmalloc、libmapmalloc、libmtmalloc という複数のメモリー割り当てライブラリを構成する関数です。これらのライブラリはそれぞれ共有オブジェクト libmalloc.so、libbsdmalloc.so、libmapmalloc.so、libmtmalloc.so として実装されています。このうち libmtmalloc 以外のすべては、アーカイブ libmalloc.a、libbsdmalloc.a、libmapmalloc.a としても実装されています。このライブラリ群は、C コンパイルシステムによって自動的にはリンクされません。libmalloc、libbsdmalloc、libmapmalloc、libmtmalloc とリンクするには、それぞれ -lmalloc、-lbsdmalloc、-lmapmalloc、-lmtmalloc の各オプションを指定します。libmalloc(3LIB), libbsdmalloc(3LIB), libmapmalloc(3LIB), libmtmalloc(3LIB) を参照してください。
BSD 関数を含むソース互換ライブラリを構成する関数です。共有オブジェクト libucb.so、アーカイブ libucb.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリは /usr/ucb サブディレクトリにあるため、cc コマンド行で -lucb を指定することによってリンクできます。このライブラリのヘッダーは、/usr/ucbinclude に入っています。libucb(3LIBUCB) を参照してください。
このボリュームで説明する関数は、さまざまなネットワーキングライブラリを構成します。
このライブラリ中の関数は、Generic Security Services API (GSS-API) ライブラリを構成するルーチンです。このライブラリは共有オブジェクト libgss.so.1 として実装されています。ただし、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lgss を指定します。libgss(3LIB) を参照してください。
軽量ディレクトリアクセスプロトコルライブラリを構成する関数です。このライブラリは共有オブジェクト libldap.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lldap を指定します。ldap(3LDAP) を参照してください。
ネットワークサービスライブラリ libnsl を構成する関数です。このライブラリは共有オブジェクト libnsl.so、アーカイブ libnsl.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lnsl を指定します。libnsl(3LIB) を参照してください。
基本ネットワーキング関数の多くは、X/Open ネットワーキングインタフェースライブラリにも入っています。libxnet インタフェースの詳細については、下記のセクション (3XNET) を参照してください。
リモート非同期呼び出しライブラリ librac を構成する関数です。このライブラリは共有オブジェクト librac.so、アーカイブ librac.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lrac を指定します。librac(3LIB) を参照してください。
リゾルバライブラリ libresolv を構成する関数です。このライブラリは共有オブジェクト libresolv.so、アーカイブ libresolv.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lresolv を指定します。libresolv(3LIB) を参照してください。
遠隔手続き呼び出しライブラリ librpcsvc と librpcsoc を構成する関数です。librpcsoc は互換性の提供のみを目的としたライブラリなので、これには新しいアプリケーションをリンクしないでください。この 2 つのライブラリは、それぞれ共有オブジェクト librpcsvc.so と librpcsoc.so として、また、アーカイブ librpcsvc.a として実装されています (librt(3LIB) 参照)。どちらのライブラリも、C コンパイルシステムによって自動的にはリンクされません。これらにリンクするには、cc コマンド行で -lrpcsvc か -lrpcsoc を指定します。librpcsvc(3LIB) および librpcsoc(3LIBUCB) を参照してください。
SLP (サービスロケーションプロトコル, Service Location Protocol) ライブラリ libslp を構成する関数です。このライブラリは、共有オブジェクト libslp.so.1 として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。libslp(3LIB) を参照してください。
ソケットライブラリ libsocket を構成する関数です。このライブラリは、共有オブジェクト libsocket.so、アーカイブ libsocket.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lsocket を指定します。libsocket(3LIB) を参照してください。
X/Open フェデレーテッドネーミングライブラリ libxfn を構成する関数です。このライブラリは共有オブジェクト libxfn.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lxfn を指定します。libxfn(3LIB)、xfn(3XFN)、 fns(5)、standards(5) を参照してください。
X/Open CAE 仕様『Networking Services』(Issue 4、1994 年 9 月) に準拠した X/Open ネットワーキングインタフェースを構成する関数です。このライブラリは共有オブジェクト libxnet.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lxnet を指定します。コンパイル情報については、libxnet(3LIB) および standards(5) を参照してください。
どのような状況でも、XTI API や TLI API ではなく、ソケット API を優先的に使用することをお勧めします。ただし、ほかの XPGV4v2 (standards(5) を参照) システムに移植する必要がある場合は、アプリケーションで libxnet インタフェースを使用する必要があります。移植の必要がない場合は、libxnet のインタフェースではなく、libsocket や libnsl のソケットインタフェースを使用する方法をお勧めします。XTI API、TLI API の中では、libnsl で使用できる TLI インタフェースよりも libxnet で使用できる XTI インタフェースのほうをお勧めします。
このボリュームで説明する関数は、グラフィックスと文字が表示された画面の更新機能を提供するライブラリを構成します。
curses ライブラリ libcurses を構成する関数です。このライブラリは共有オブジェクト libcurses.so、アーカイブ libcurses.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lcurses を指定します。libcurses(3LIB) を参照してください。
forms ライブラリ libform を構成する関数です。このライブラリは共有オブジェクト libform.so、アーカイブ libforms.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lform を指定します。libform(3LIB) を参照してください。
menus ライブラリ libmenu を構成する関数です。このライブラリは共有オブジェクト libmenu.so、アーカイブ libmenu.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lmenu を指定します。libmenu(3LIB) を参照してください。
panels ライブラリ libpanel を構成する関数です。このライブラリは共有オブジェクト libpanel.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lpanel を指定します。libpanel(3LIB) を参照してください。
グラフィックスライブラリ libplot を構成する関数です。このライブラリは共有オブジェクト libplot.so、アーカイブ libplot.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lplot を指定します。libplot(3LIB) を参照してください。
/usr/xpg4/lib/libcurses.so.1 にある X/Open Curses ライブラリを構成する関数です。このライブラリは、端末画面での入力と出力、その変更に使用する国際化された関数とマクロのセットを提供します。このライブラリには、ウィンドウの作成、テキストの強調表示、画面への書き込み、ユーザーの入力の読み取り、カーソルの移動などを実行するための関数が含まれています。X/Open Curses は、画面更新動作を最適化するように設計されています。X/Open Curses ライブラリは、X/Open Extended Curses 仕様 (Issue 4) に全面的に準拠していいます。
このボリュームで説明する関数は、スレッドおよびリアルタイムライブラリを構成します。
非同期入出力ライブラリ liaio を構成する関数です。このライブラリは共有オブジェクト libaio.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -laio を指定します。libaio(3LIB) を参照してください。
doors ライブラリ libdoor を構成する関数です。このライブラリは共有オブジェクト libdoor.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -ldoor を指定します。
POSIX.4 リアルタイムライブラリ librt を構成する関数です。このライブラリは共有オブジェクト librt.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lrt を指定します。このライブラリは、以前は libposix4 という名前でした。下位互換のため、この libposix4 も維持されていますが、こちらの使用はできるだけ避けてください。librt(3LIB) を参照してください。
LWP スケジューリングライブラリ libsched を構成する関数です。このライブラリは共有オブジェクト libsched.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lsched を指定します。
スレッドライブラリ libpthread、libthread、libthread_db を構成する関数です。libpthread ライブラリと libthread ライブラリは、マルチスレッドアプリケーションの構築に使用します。libpthread は POSIX (standards(5) を参照) スレッドインタフェースを実装していますが、libthread が実装しているのは Solaris スレッドインタフェースです。libthread_db ライブラリは、マルチスレッドアプリケーションのデバッガの構築に役立ちます。
POSIX スレッドと Solaris スレッドの実装には互換性があります。このため、双方のスレッドを同じアプリケーション内で使用することができます。ただし、POSIX 準拠の別の環境への移植性が保証されているのは POSIX スレッドの方だけです。
POSIX スレッドと Solaris スレッドを同じアプリケーション内で使用しているとき、同じ名前でありながら意味解釈の異なる呼び出しがあると、Solaris スレッドではなく POSIX スレッドを指すものと解釈されます。たとえば、fork() の呼び出しは、POSIX スレッドライブラリにリンクしたプログラム内の fork1() を意味することになります。このプログラムが POSIX スレッドと同時に Solaris スレッド -lthread にもリンクしていたとしても、呼び出しが示しているのは POSIX スレッドの方になります。
libpthread、libthread、libthread_db の各ライブラリは、それぞれ共有オブジェクト libpthread.so、libthread.so、libthread_db.so として実装されていますが、アーカイブライブラリとしても実装されているのは libthread_db のみです。このアーカイブの名前は libthread_db.a です。これらのライブラリはいずれも、C コンパイルシステムによって自動的に実装されていはいません。このライブラリ群にリンクするには、cc コマンド行で、-lpthread、-lthread、-lthread_db のいずれかを指定します。libpthread(3LIB)、libthread(3LIB)、libthread_db(3LIB) を参照してください。
次の関数は、POSIX で使用するオプションであり、現在の Solaris リリースではサポートされていません。
int pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr, int protocol); int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *attr, int *protocol); int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *attr, int prioceiling); int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *attr, int *prioceiling);
このボリュームで説明する関数は、特化されたさまざまなライブラリを構成します。構成されるライブラリは、次に示す限りではありません。
基本セキュリティライブラリ libbsm を構成する関数です。このライブラリは共有オブジェクト libbsm.so、アーカイブ libbsm.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lbsm を指定します。libbsm(3LIB) を参照してください。
構成管理ライブラリ libcfgadm を構成する関数です。このライブラリは共有オブジェクト libcfgadm.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lcfgadm を指定します。libcfgadm(3LIB) を参照してください。
CPU パフォーマンスカウンタライブラリ libcpc およびプロセスコンテキストライブラリ libpctx を構成する関数です。これらのライブラリはそれぞれ共有オブジェクト libcpc.so および libpctx.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lcpc を指定します。libcpc(3LIB) および libpctx(3LIB)を参照してください。
デバイス ID ライブラリ libdevid を構成する関数です。このライブラリは共有オブジェクト libdevid.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -ldevid を指定します。libdevid(3LIB) を参照してください。
デバイス情報ライブラリ libbsm を構成する関数です。このライブラリは共有オブジェクト libdevinfo.so、アーカイブ libdevinfo.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -ldevinfo を指定します。libdevinfo(3LIB) を参照してください。
DMI ライブラリ libdmi、libdmici、libdmimi を構成する関数です。これらのライブラリはそれぞれ、共有オブジェクト libdmi.so、libdmici.so、libdmimi.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。これらにリンクするには、cc コマンド行で -ldmi、-ldmici、-ldmimi のいずれかを指定します。libdmi(3LIB)、libdmici(3LIB)、libdmimi(3LIB) を参照してください。
ELF (Extensible Linking Format) アクセスライブラリ libelf を構成する関数です。このライブラリは elf ファイルの作成と分析用のインタフェースを提供します。elf ファイルには、実行ファイル、オブジェクト、共有オブジェクトがあります。libelf は共有オブジェクト libelf.so、アーカイブ libelf.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lelf を指定します。libelf(3LIB) を参照してください。
拡張アカウンティングアクセスライブラリ libexacct およびプロジェクトデータベースアクセスライブラリ libproject を構成する関数です。これらのライブラリはそれぞれ、共有オブジェクト libexacct.so および libproject.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。これらのライブラリにリンクするには、cc コマンド行で -lexacct または -lproject を指定します。libexacct(3LIB) および libproject(3LIB) を参照してください。
文字列のパターンマッチングやパス名の操作を行うライブラリ libgen を構成する関数です。このライブラリは共有オブジェクト libgen.so、アーカイブ libgen.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lgen を指定します。libgen(3LIB) を参照してください。
カーネル統計情報ライブラリを構成する関数です。このライブラリは共有オブジェクト libkstat.so、アーカイブ libkstat.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lkstat を指定します。libkstat(3LIB) を参照してください。
カーネルの仮想メモリーライブラリへのアクセスを許可する関数です。このライブラリは共有オブジェクト libkvm.so、アーカイブ libkvm.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lkvm を指定します。libkvm(3LIB) を参照してください。
レイアウトサービスライブラリを構成する関数です。このライブラリは共有オブジェクト liblayout.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -llayout を指定します。liblayout(3LIB) を参照してください。
ローカリティグループライブラリを構成する関数です。このライブラリは共有オブジェクト liblgrp.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -llgrp を指定します。liblgrp(3LIB) を参照してください。
数学ライブラリ libm を構成する関数です。このライブラリは共有オブジェクト libm.so、アーカイブ libm.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lm を指定します。
ユーザーのメールボックス管理ライブラリ libmail を構成する関数です。このライブラリは共有オブジェクト libmail.so、アーカイブ libmail.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lmail を指定します。
整数型数学ライブラリ libmp を構成する関数です。このライブラリは共有オブジェクト libmp.so、アーカイブ libmp.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lmp を指定します。libmp(3LIB) を参照してください。
名前と値の組み合せのライブラリ libnvpair を構成する関数です。このライブラリは共有オブジェクト libnvpair.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、 cc コマンド行で -lnvpair を指定します。libnvpair(3LIB) を参照してください。
PAM (Pluggable Authentication Module) ライブラリ libpam を構成する関数です。このライブラリは共有オブジェクト libpam.so、アーカイブ libpam.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lpam を指定します。libpam(3LIB) を参照してください。
PICL ライブラリ libpicl を構成する関数です。このライブラリは共有オブジェクト libpicl.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lpicl を指定します。libpicl(3LIB)libpicl(3LIB) および libpicl(3PICL) を参照してください。
PICL プラグインライブラリ libpicltree を構成する関数です。このライブラリは共有オブジェクト libpicltree.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lpicltree を指定します。libpicltree(3LIB)libpicltree(3LIB) およびlibpicltree(3PICLTREE) を参照してください。
リモート共有メモリー librsm を構成する関数です。このライブラリは共有オブジェクト librsm.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lrsm を指定します。librsm(3LIB) を参照してください。
ファイルアクセス制御ライブラリ libsec を構成する関数です。このライブラリは共有オブジェクト libsec.so、アーカイブ libsec.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lsec を指定します。libsec(3LIB) を参照してください。
セキュリティ属性データベースライブラリ libsecdb を構成する関数です。このライブラリは共有オブジェクト libsecdb.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lsecdb を指定します。libsecdb(3LIB) を参照してください。
SNMP ライブラリ libdssagent と libdssasnmp を構成する関数です。この 2 つのライブラリは、それぞれ共有オブジェクト libssagent.so、libssasnmp.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。これらにリンクするには、cc コマンド行で -lssagent または -lssasnmp を指定します。libssagent(3LIB) を参照してください。
システムイベントライブラリ libsysevent を構成する関数です。このライブラリは共有オブジェクト libsysevent.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lsysevent を指定します。libsysevent(3LIB) を参照してください。
TNF ライブラリ libtnf、libtnfctl、libtnfprobe を構成する関数です。この 3 つのライブラリは、それぞれ共有オブジェクト libtnf.so、libtnfctl.so、libtnfprobe.so として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。これらにリンクするには、cc コマンド行で -ltnf、-ltnfctl、-ltnfprobe のいずれかを指定します。libtnfctl(3TNF) および libtnfctl(3LIB) を参照してください。
ボリューム管理ライブラリ libvolmgt を構成する関数です。このライブラリは共有オブジェクト libvolmgt.so、アーカイブ libvolmgt.a として実装されていますが、C コンパイルシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lvolmgt を指定します。libvolmgt(3LIB)を参照してください。
製品インストールレジストリのライブラリ libwsreg を構成する関数です。このライブラリは、共有オブジェクト libwsreg.so として実装されていますが、C コンパイラシステムによって自動的にはリンクされません。このライブラリにリンクするには、cc コマンド行で -lwsreg オプションを指定してください。libwsreg(3LIB) を参照してください。
マシンのバイトに適合するビットパターンを、1 文字と解釈することができます。ただし、言語によっては、1 文字に 1 バイト以上必要で、複数バイトで表現されるものもあります。
NULL 文字とは、値が 0 の文字のことです。C 言語では、便宜上この文字を \0 と表します。文字の並び (シーケンス) のことを文字配列と言います。最後の文字が NULL 文字になっている文字の並びのことを NULL 終了文字配列 (文字列) と言います。また、NULL 文字だけを含む文字配列のことを NULL 文字列と言います。0 をポインタにキャストすることによって得られる値は NULL ポインタと呼ばれています。C 言語では、この値は有効なポインタと一致しません。このため、ポインタを返す関数のほとんどは、NULL を返すことによってエラーを示します。NULL マクロは <stdio.h> で定義されています。size_t の型は適切なヘッダーの中に定義されています。
MT レベルのライブラリの詳細については attributes(5) を参照してください。
通常 /usr/include
通常 /usr/lib (32 ビット) または /usr/lib/sparcv9 (64 ビット)
ar(1)、cc(1B)、 ld(1)、fork(2)、 intro(3)、stdio(3C)、attributes (5)、standards(5)
『プロファイリングツール』
『ANSI C Programmer's Guide』
浮動小数点の値を返す関数の場合、エラー処理はコンパイルのモードによって異なります。cc に -Xt オプションが指定されている場合 (デフォルト) に、指定された引数が使用する関数が未定義であったり値を表現することができなかったりすると、これらの関数は 0、±HUGE、NaN という一定の値を返します。-Xa や -Xc のコンパイルモードでは、±HUGE の代わりに ±HUGE_VAL が返されます。HUGE_VAL と HUGE は math.h の中で定義されています。HUGE_VAL は値が無限であることを表し、HUGE は単精度小数点の最大値を表します。
cc [flags] file. . . -D_POSIX_C_SOURCE=199506L -lpthread
Solaris の fork() と fork1() 関数を使用した POSIX スレッドは、次のようにコンパイルしてください。
cc [flags] file. . . -D_POSIX_PTHREAD_SEMANTICS -lthread
Solaris スレッドは、次のようにコンパイルしてください。
cc [flags] file. . . -D_REENTRANT -lthread
シングルスレッドのアプリケーションを作成する際、上記のフラグを定義してはいけません。定義しないことにより、マルチスレッドをサポートしていない旧リリースの Solaris 上で実行可能なバイナリが生成されます。
アプリケーションを安全に実行するため、メインスレッド以外からは Unsafe インタフェースを呼び出さないようにしてください。
MT-Safe インタフェースは、各関数やライブラリのマニュアルページの 「属性」の項目に記述されています ( attributes(5) を参照)。インタフェースが MT-Safe であることがマニュアルページ中に明示されていないときは、そのインタフェースを Unsafe とみなしてください。
早期のバインディングを可能にするためは、環境変数 LD_BIND_NOW の値を非 NULL 値に設定してください。詳細については『リンカーとライブラリ』の再配置に関する説明を参照してください。
ここで説明する関数、外部変数、マクロは、ユーザープログラムの中で再定義しないでください。他の名前を再定義してもこれらのライブラリの動作に影響を与えませんが、同じ名前を再定義すると、インクルードされているヘッダーの宣言と衝突してしまいます。
INCDIR の中にあるヘッダーは、このマニュアルページで説明するほとんどの関数のプロトタイプを提供します。関数のプロトタイプとは、引数の型を含む関数宣言のことです。関数のプロトタイプを使用すると、ユーザーのプログラムの中で使用されている関数の使用法が間違っていないか、コンパイラでチェックすることができます。コンパイラの代わりに lint プログラムチェッカーを使用することもできます。lint は、ヘッダーが #include 文でインクルードされていないことを検出すると、この矛盾を報告します。セクション 2、3C、3S の定義は自動的にチェックされます。その他の定義をチェックするには、lint に -l オプションを指定します。たとえば、 libm の定義をチェックするには -lm を指定します。できるだけ lint を使用するようにしてください。詳細は、『プロファイリングツール』の lint に関する章を参照してください。
「STREAMS」と「ストリーム」の違いには十分気を付けてください。STREAMS とは、ネットワークサービスとデータ通信ドライバの開発をサポートするカーネル機構の一種であり、ユーティリティルーチン、カーネル機能、データ構造体で構成されています。一方、ストリーム とは、STREAMS に関連するバッファリングで使用されるファイルのことです。ストリーム は <stdio.h> の中で FILE 型へのポインタとして定義されています。
各要素の詳細な定義では、実装に固有のシンボリック名を参照しなければならない場合があります。ただし、必ずしもアプリケーションプログラムで使用できるようにする必要はありません。こうしたシンボリック名の多くは、境界の条件やシステムの制限を記述するものです。
このセクションでは、分かりやすくするために、このような実装固有の値をシンボリック名にしています。このようなシンボリック名は必ず中括弧 ( { } ) で囲まれ、ヘッダーを使ってアプリケーションからアクセスできる実装固有の定数のシンボリック名と区別されます。中括弧で囲まれているシンボリック名は、特定のシステムの文書中で定義されていることもありますが、ヘッダーを使用することによってアプリケーションプログラムから必ずしもアクセスできるわけではありません。
一般には、移植可能なアプリケーションプログラムコードの中で、このようなシンボリック名が参照されていてはなりません。たとえば、あるアプリケーションプログラムで、あるルーチンに提供された引数リストの長さが {ARG_MAX} より大きいかどうかをテストしてはなりません。
X/Open XFN 標準に基づいたフェデレーテッドネーミングサービスは、Solaris オペレーティングシステムの将来のリリースではサポートされない可能性があります。
説明
関数とライブラリの紹介
regexpr(3GEN) を参照
strftime(3C) を参照
gettext(3C) を参照
gettext(3C) を参照
strftime(3C) を参照
regexpr(3GEN) を参照
構成の管理
EUC コードセットに関する情報の取得
cset(3C) を参照
cset(3C) を参照
cset(3C) を参照
文字処理
CRT 画面操作および最適化用パッケージ
wchar_t 文字を属性とともに curses ウィンドウに追加してカーソルを進める
wchar_t 文字列を属性とともに curses ウィンドウに追加
wchar_t 文字列を curses ウィンドウに追加してカーソルを進める
カーソルを文字単位に移動するために ALE curses ライブラリに追加された関数
curses 端末キーボードから wchar_t 文字を得る (または戻す)
curses 端末キーボードから wchar_t 文字列を得る
curses ウィンドウ内のカーソル位置の文字の直前に wchar_t 文字を挿入
curses ウィンドウ内のカーソル位置の文字の直前に wchar_t 文字列を挿入
curses ウィンドウから wchar_t 文字とその属性を得る
curses ウィンドウから wchar_t 文字列とその属性を得る
curses ウィンドウから wchar_t 文字列を得る
curses パッドの作成と表示
gettext(3C) を参照
gettext(3C) を参照
gettext(3C) を参照
gettext(3C) を参照
euclen(3C) を参照
EUC 文字のバイト長および表示幅の取得
euclen(3C) を参照
ストリームからワイド文字コードを読み込む
getws(3C) を参照
printf(3C) を参照
ワイド文字コードをストリームへ書き出す
ワイド文字列をストリームへ書き出す
scanf(3C) を参照
ユーザー形式の日付および時刻の変換
メッセージ処理関数
ストリームからワイド文字を読み込む
stdin ストリームからワイド文字を読み込み
コードセット情報の取得
ストリームからワイド文字列を取得する
コード変換関数
ctype(3C) を参照
ctype(3C) を参照
ctype(3C) を参照
ctype(3C) を参照
ctype(3C) を参照
文字のバッファが暗号化されているかの判別
iswalpha(3C) を参照
ctype(3C) を参照
iswalpha(3C) を参照
ctype(3C) を参照
iswalpha(3C) を参照
iswalpha(3C) を参照
ctype(3C) を参照
ctype(3C) を参照
ctype(3C) を参照
iswalpha(3C) を参照
ctype(3C) を参照
iswalpha(3C) を参照
ワイド文字の文字分類用関数
iswalpha(3C) を参照
iswalpha(3C) を参照
指定された文字のクラスの検査
iswalpha(3C) を参照
iswalpha(3C) を参照
iswalpha(3C) を参照
iswalpha(3C) を参照
iswalpha(3C) を参照
iswalpha(3C) を参照
iswalpha(3C) を参照
iswalpha(3C) を参照
ctype(3C) を参照
構成管理のライブラリ
文字のバイト数を取得する
文字列をワイド文字列に変換
複数バイト文字をワイド文字コードに変換
gettext(3C) を参照
書式付き出力
fputwc(3C) を参照
fputwc(3C) を参照
ワイド文字列の EUC 文字への変換
正規表現のコンパイルおよび一致ルーチン
書式付き入力の変換
プログラムのロケールの変更および照会
printf(3C) を参照
printf(3C) を参照
scanf(3C) を参照
regexpr(3GEN) を参照
日付と時刻を文字列に変換
gettext(3C) を参照
整数を 7 ビット ASCII 文字へ変換
大文字を小文字に変換
大文字を小文字に変換
小文字を大文字に変換
小文字を大文字に変換
ワイド文字表現の大文字を小文字に変換
ワイド文字表現の小文字を大文字に変換
ワイド文字コードを入力ストリームにプッシュバック
scanf(3C) を参照
scanf(3C) を参照
scanf(3C) を参照
wcstod(3C) を参照
wcstol(3C) を参照
wcstol(3C) を参照
wcstol(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
照合情報を使ってワイド文字列を比較
wcstring(3C) を参照
wcstring(3C) を参照
cset(3C) を参照
日付および時刻をワイド文字列に変換
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
ワイド文字列を倍精度浮動小数点数に変換
wcstring(3C) を参照
ワイド文字列を整数に変換
ワイド文字列を文字列に変換
ワイド文字列を符号なしロング整数に変換
ワイド文字列の操作
wcstring(3C) を参照
ワイド文字列のカラム数
ワイド文字列の変換
ワイド文字コードを複数バイト文字に変換
文字クラスの定義
ワイド文字コードのカラム数
wcstring(3C) を参照
wcstring(3C) を参照
wstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wstring(3C) を参照
wcscoll(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wstring(3C) を参照
wcstring(3C) を参照
wstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
wcstring(3C) を参照
書式付き出力変換
wcstring(3C) を参照
書式付き入力変換
wcstring(3C) を参照
wcstod(3C) を参照
wcstring(3C) を参照
wcstol(3C) を参照
ワイド文字の文字列操作
wcsxfrm(3C) を参照
名前 | 機能説明 | 定義 | MT レベルのライブラリ | ファイル | 関連項目 | 診断 | マルチスレッドアプリケーションに関する注意事項 | リアルタイムアプリケーション | 注意事項 | コマンド一覧