ホーム > 読んだ >

Linuxシステムコール

書誌

tagUNIX
author塚越一雄
publisher技術評論社
year2000
price2,480+tax
isbn7741-1031-0

履歴

editor唯野
2000.11.6読了
2000.11.6公開
2002.6.3修正
2012.1.17タグ追加
2013.4.5修正

書名の通り Linux のシステムコールに関する入門書。初版本のせいか誤植も目立ったが、内容的には何よりもサンプルプログラムに適切なものが収められていて大変よかった。入門書でサンプルが長すぎると根気がいるし、後から参照しても目的のロジックを見つけるのに時間がかかってしまう。その点、この本は巻末の関数一覧や全体の構成の中で位置付けられた説明順序などを含め、非常にしっかりした作りとなっている。私は以前、システムコール関連の本では外れを引いているせいもあって、特にありがたかった。類書を探している方にはおすすめの一冊といえるし、これならば著者の別の本も読んでみたいと思わせるだけの内容になっている。

# 慣れというか手抜きによりコメントは /* */ ではなく // になっています :-)

抄録

第1章 システムコール

システムコール : OS がユーザに提供するサービスルーチンの集まり

#include <time.t>
#include <stdio.h>

int main()
{
    time_t t = time(NULL);
    struct tm* tp = localtime(&t);
    char* s = asctime(tp);

    printf("協定世界時   : %ld\n", t);
    printf("ローカル時間 : %s\n", s);
    return 0;
}

#include <time.h>
time_t time(time_t* t);
UTC(協定世界時、グリニッジ標準時を返す)
これは 1970 年 1 月 1 日 0 時からの経過秒数を返す
time_t は 32 ビット符合付き整数の typedef されたもの
引数に time_t ポインタを渡すことでアウトパラメータとなる

#include <time.h>
struct tm* localtime(const time_t* timep);
協定世界時をローカル時間に変換する

struct tm
{
    int tm_sec;    // 秒
    int tm_min;    // 分
    int tm_hour;   // 時
    int tm_mday;   // 日
    int tm_mon;    // 月
    int tm_year;   // 年
    int tm_mday;   // 曜日(日曜が 0)
    int tm_yday;   // 1 月 1 日からの経過日数(0-)
    int tm_isdst;  // 夏時間ならば 1

全文を読まれる場合はログインしてください


Up