下位ページ

mmap

  • 参考
  • 機能:ファイルとメモリの同一視(仮想メモリ技術)
    • 読み込み専用なら,メモリから読み出しがそのままファイル読み出しに相当.
    • 書き込み専用なら,メモリへの書き込みがそのままファイル書き込みに相当.
  • メリット
    • カーネルとコピープログラムの間でデータのコピーが発生しないので,高速.
    • iostreamなんて使うよりはよほど早い.

printfのバッファクリア

  • printfが表示されないときに
#include <stdio.h>
#include <stdlib.h>
int main(void)
   for (i = 0 ; i < 3; i++) {
       printf("*");
       fflush(stdout);
       sleep(1);
   }
}

void*のoffset

#include <stdio.h>

int main(void)
{
        void* a = (char*)0x01;
        a = (void*)((char*)a + 0x0F);
        printf("%p\n", a);
}

non-blocking read

  • readでO_NONBLOCKよりも,selectでread可能かどうかを見る方がまとも
    • RDWRで開けるので,non-blockingしながらwriteもできるので
  • man select

低位関数のエラー

  • errnoに出力される
  • 表示の方法
    • perror(問答無用で標準出力に出てしまう)
    • strerror(char*となるので,その後どうにかできる)

日付からUNIX TIMEを得る

#include <ctime>
#include <cstdio>
#include <cmath>

int main(void)
{
    int y = 2015;
    int m = 5;
    struct tm t;
    time_t timer;
    timer = mktime(&t);
    for (int d = 3; d < 30; d++) {
        t.tm_year = y - 1900;
        t.tm_mon = m - 1;
        t.tm_mday = d;
        t.tm_hour = t.tm_min = t.tm_sec = 0;
        timer = mktime(&t);
        printf("%d %d (%ld)\n", d, (int)round((double)timer/60/60/24), timer);
    }
}

ブラウジング

  • curlとlibxmlを使う.
  • ログイン情報は,httpクッキー情報を付記する必要がある(超面倒)

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS