POSIXを中心とした*nix環境向けのAPI情報。Linux向けの情報が中心。

API(Application Program Interface)

Microsoft VisualC++
VC++向けはこちら。
ワイド文字向けI/F
多分下記ヘッダに定義有り。
/usr/include/wchar.h

共有メモリ

API名称用途備考
shm_open共有メモリオブジェクト作成POSIX
shm_unlink共有メモリオブジェクトの破棄POSIX
mmapディスクリプタをプロセスのアドレス空間にマップPOSIX
ftruncate共有メモリオブジェクトのサイズ変更POSIX
fstat共有メモリオブジェクトの情報取得POSIX
shmget共有メモリを作成System V
shmat共有メモリセグメントへの読み書きを許可する(attach)System V
shmdt共有メモリセグメントへのアクセスを終了する(detach)System V
shmctl共有メモリセグメントの破棄System V

Timer制御

API名称用途備考
sleep指定の秒数の間だけ休止する
usleepマイクロ秒単位で実行を延期
nanosleep指定された時間の間実行を停止
clock_getres指定されたクロックの分解能(精度)を取得POSIX
clock_gettime
clock_settime
指定されたクロックの時間を取得または設定POSIX
getitimer
setitimer
インターバル・タイマーの値を取得または設定POSIX
sigactionシグナルの動作の確認と変更
timer_create
timer_delete
タイマーの生成または破棄POSIX
timer_gettime
timer_settime
タイマーの起動及びタイマー状態の取得POSIX
timer_getoverrunタイマ満了カウントの取得POSIX
gettimeofday時刻を取得するPOSIX
Linux 用リアルタイムクロックドライバ(/proc/rtc)

プロセス・スレッド制御

API名称用途備考
getpid現在のプロセスのプロセスIDを取得
gettidカレントプロセスのスレッドID(TID)を取得
getpriority
setpriority
指定されたプロセス、プロセス・グループ、ユーザーのスケジューリング優先度の取得・設定
sched_getaffinity
sched_setaffinity
プロセスの CPU affinity (親和度) マスクを取得・設定pthread
sched_get_priority_min
sched_get_priority_max
指定されたスケジューリングのアルゴリズムで使用されるプライオリティの最大・最小値を取得pthread
sched_yield他のプロセスにプロセッサを空け渡す *1pthread
pthread_attr_getschedpolicy
pthread_attr_setschedpolicy
スレッドのスケジューリングポリシーの取得・設定pthread
pthread_attr_getschedparam
pthread_attr_setschedparam
スレッドのスケジューリング優先度等を取得・設定pthread
pthread_attr_getinheritsched
pthread_attr_setinheritsched
新しく生成されるスレッドのスケジューリングポリシーとスケジューリングパラメータの親スレッドからの継承状態を取得・設定pthread
pthread_yield他のスレッドにプロセッサを空け渡すpthread
pthread_spin_initpthread
pthread_spin_destroypthread
pthread_spin_lockpthread
pthread_spin_trylockpthread
pthread_spin_unlockpthread
pthread_barrier_initバリアを初期化しますpthread
pthread_barrier_destroyバリアを破棄しますpthread
pthread_barrier_wait参加しているスレッドをバリアで同期しますpthread

プロセス間メッセージ

API名称用途備考
mq_openメッセージキューの作成&オープンPOSIX
mq_closeメッセージキューのクローズPOSIX
mq_unlinkメッセージキューの削除POSIX
mq_getattrメッセージキュー属性の取得POSIX
mq_setattrメッセージキュー属性の設定POSIX
mq_sendメッセージキューの送信POSIX
mq_receiveメッセージキューの受信POSIX
mq_nofityシグナル通知POSIX
msgget引き数の値に対応するメッセージ・キューの識別子を取得System V
msgsndメッセージ・キューへのメッセージの送信System V
msgrcvメッセージ・キューへのメッセージの受信System V
msgctlメッセージ制御操作System V

メモリ操作

API名称用途備考
posix_memalignアラインメントされたメモリの割り当てを行う<malloc.h>
memalignアラインメントされたメモリの割り当てを行う<malloc.h>
mlockメモリのロックを行う
munlockメモリのロック解除を行う

文字列操作

API名称用途備考
strlcpyC言語で文字列を安全にコピーする

パス操作

API名称用途備考
basenameパスからディレクトリとサフィックスを取り除く<string.h>
dirnameパスからファイル名を取り除く<libgen.h>
realpath正規化された絶対パス名を返す<stdlib.h>

フォルダ操作

API名称用途備考
mkdirフォルダの作成<unistd.h>
rmdirフォルダの削除<unistd.h>
chdirカレントフォルダの変更<unistd.h>
getcwdカレントフォルダの取得<unistd.h>

ファイル操作

API名称用途備考
renameファイル移動/名前変更
removeファイル・フォルダの削除
fgets_unlockedロックを行わずに標準入出力処理を行う
flockfile標準入出力 FILE のロックを行う
funlockfile標準入出力 FILE のロック解除
libaio(Linuxの非同期I/Oライブラリ)の使い方

浮動小数点制御

API名称用途備考
feraiseexcept浮動小数点例外の発生<fenv.h>
feenableexcept浮動小数点例外の制御GNU
_FPU_SETCW浮動小数点例外の制御obsolete

システム情報

API名称用途備考
sysconf動作中に設定情報を取得する。環境によってはCPU数等も取得可能<unistd.h>
syscallスレッドID等を取得可能<unistd.h>
localeconv数値に関する書式情報を取得<locale.h>

*1 Linuxで usleep(0) とかループ処理の中でやると悲惨な事に・・・なる

Last-modified: 2012-11-14 (水) 11:25:12