タグ

cに関するmasa_matyaのブックマーク (5)

  • ログ管理 〜syslogとその周辺〜 【応用編】syslog について・・・C言語によるログの出力方法

    syslog は C 言語のインタフェースが用意されており、アプリケーションから簡単にログを出力することができます。なにかサービスをおこなうようなアプリケーションを作成したときには、できるだけ syslog にログを出すようにしましょう。 FreeBSD では、リスト5 に挙げる関数が用意されています。 #include #include void syslog(int priority, const char *message, ...); void vsyslog(int priority, const char *message, va_list args); void openlog(const char *ident, int logopt, int facility); void closelog(void); int setlogmask(int maskpri);

  • 共有ライブラリ(lib*.so.*)の管理

    共有ライブラリは、プログラムの実行時に動的に読み込まれます。今日のLinux上のプログラムは、ほとんどが共有ライブラリを使用するようビルドされています。 ライブラリを静的にリンクしないことにより、次のようなメリットが得られます。 複数のプログラムで同じライブラリをリンクする必要がないので、各々のプログラムのサイズが小さくなる。 ライブラリを修正した場合、修正された共有ライブラリのみを差し替えるのみでよい。静的にリンクされている場合は関係するプログラムをすべてビルドし直さなければならない。 ldd - 依存する共有ライブラリを表示 指定したプログラムが依存する共有ライブラリを表示します。”=>”の左側が必要な共有ライブラリ、右側がその共有ライブラリが実在するパスです。 $ ldd /usr/sbin/postfix linux-gate.so.1 => (0xb7fad000) libpcr

    masa_matya
    masa_matya 2011/07/07
    共有ライブラリについて。動的にリンクする者たち
  • 配列とポインタ

    10-2.配列とポインタ 10-1.変数とポインタとの違いに気を付けてください。 ポインタは、変数のアドレスを格納するよりは、配列のアドレスを格納する方がずっと使用頻度は高くなります。 (1)配列とアドレス (変数)と(配列)の違いに注意してください

    masa_matya
    masa_matya 2010/09/27
    ポインタ周り。忘れたときはここが復習しやすい
  • C/C++ リファレンス

  • C言語: UNIX最速ファイルコピー

    Created: Kazuki Ohta, 2006/06/14 Last Update: Kazuki Ohta, 2006/06/14 「write(2)の正しい使い方」と同じく、OS演習でやった事の延長線の記事を書いてみる。お題は「UNIX上で大規模ファイルを最速でコピーする方法」だ。一般的に、UNIXでファイルをcopyする際には以下のような方法が有る。 read -> write read -> write with posix_fadvice mmap -> mmap -> memcpy -> fsync mmap -> mmap -> memcpy -> fsync with madvise mmap -> write mmap -> write with madvise read, write, mmap辺りは良いとして、posix_fadviseというシステムコールが有

  • 1