パート I. Linux と POSIX C

目次

4. パイプとリダイレクトのまとめ
5. echo コマンド
6. シェルの確認
7. /dev ディレクトリー
7.1. echo のリダイレクト
8. アペンド
9. リダイレクトのファイル記述子
10. ファイル記述子間のリダイレクト
11. ファイル記述子リダイレクトのまとめ
12. exec (bash)
13. ファイル記述子を閉じる
14. 読み書きファイル記述子
15. /proc ディレクトリー
16. /dev/shm ディレクトリー

本書の主題であるメモリーの割り当ての説明をする前に Linux と C 言語のつながりを整理しときましょう。

まずは知っておきたい C 言語の標準(POSIX)ライブラリーのヘッダーファイルをまとめておきましょう。

まずは誰でも知っておくべきヘッダーファイルです。

stdio.h
printf / fopen /puts 等の IO 処理
stdlib.h
メモリーの割り当て(malloc)や文字列変換、乱数の処理
string.h
メモリーのコピー・設定などの操作や文字列の処理

もう一つは OS の機能とインターフェースしたり、ローレベルでのコーディングに使えるヘッダーファイルです。

fcntl.h
fcntl関数によってファイルの制御をするためのマクロとその他関数(open / openat / creat 等)
unistd.h
システムコールのラッパー関数(read / write / close / fork 等)
setjmp.h
コールスタックの復帰処理(協調的マルチタスク等)
signal.h
システムシグナルのAPI

さらに処理のために必要な型・(C プリプロセッサー)マクロは以下のヘッダーに定義されます。

sys/types.h
mode_t / uid_t / gid_t / pid_t / dev_t / clock_t / pthread_t / size_t / time_t 等の型を定義
sys/stat.h
stat / fstat / lstat 関数から戻る stat 型・マクロの定義
sys/mman.h
sys/stat.h の構造体には sys/types.h のデータ型も含みまする!!

こんなもんですかね!!!

賢明または懸命な読者には楽勝でござるね!!!

(´・ω・`)

Copyright 2018-2019, by Masaki Komatsu