タグ

Cとlinuxに関するhtzのブックマーク (5)

  • C言語で物理メモリ量の取得 - とんちゃんといっしょ

    C言語で物理メモリ量を取得する方法ががわからなかったので調べてみた。 ・・・なかなか情報が見つからずなかったけど無事に目標達成。 結果をまとめておく。 sys/sysinfo.h /* Returns information on overall system statistics. */ extern int sysinfo (struct sysinfo *__info) __THROW; linux/kernel.h struct sysinfo { long uptime; /* Seconds since boot */ unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ unsigned long totalram; /* Total usable main memory size */ unsigne

    C言語で物理メモリ量の取得 - とんちゃんといっしょ
    htz
    htz 2011/05/16
  • ライブラリ

    スタティックライブラリの作成 1. はじめに 共通の関数を複数のプログラムで使い回すとき、ライブラリにした方が楽。 ということで挑戦。 2. 次に とりあえず腕ならし。簡単な関数をつくってみる。 あっさりできてしまった。 ソースは下。必要最低限しか書いていないから、見れば分かるでしょう。 Makefile error.c error.h util.c util.h main.c lib.tar.gz‥上のファイル全部 3. 一応説明 error.c、util.cからライブラリをつくり、名前はlibutil.aとする。 そして、それとmain.cをいっしょにコンパイルする。それだけ。 手でコンパイルするとすると、以下のようになる。 % gcc -c error.c % gcc -c util.c % ar r libutil.a error.o util.o % ranlib libutil

  • Manpage of ISATTY

    Section: Linux Programmer's Manual (3) Updated: 1995-04-20 Index JM Home Page roff page 名前 isatty - ディスクリプタが端末かどうか 書式 #include <unistd.h> int isatty(int desc); 説明 desc が端末に接続されたオープンされたファイルディスクリプタ ならば 1 を返す。そうでなければ 0 を返す。 準拠 SVr4, 4.3BSD, POSIX.1-2001. 関連項目 fstat(2), ttyname(3) Index 名前 書式 説明 準拠 関連項目 This document was created by man2html, using the manual pages. Time: 10:26:44 GMT, September 19, 2

    htz
    htz 2010/02/10
    ファイルディスクリプタが端末を参照しているかをチェックする
  • 3.1 配列の要素数を返す. - C/C++ 関数・マクロ集 ((ほぼ?) 処理系・OS 非依存)

    「C/C++ 関数・マクロ集」というタイトルですが, そのうちのいくつかはC専用だったりします.(苦笑) 2007/06/24(日) 追記 高木さんより, Cの規格上移植性に問題がある点をご指摘いただいたので, 現在修正中です. (たくさんあります….orz) とはいってもその多くは, めったにお目にかかれないような珍しい処理系とか, 「そんなの実在するの?」という処理系に移植する場合の話なので, 実用上ほとんどの場合は問題ないと思います. (一部そうとはいえないものもありますが.) Cの規格に照らして完全に「処理系・OS 非依存」 にするのは困難な場合もあり, 完璧な移植性にこだわるあまりプログラムが書けなくなっては末転倒なので, タイトルに「ほぼ?」を入れました.orz 2007/06/21(木) 追記 このページを含め,私が C/C++ 関連記事を書くに当たりたびたび参考に&リンク

  • システムコール・ライブラリルーチン

    UNIX の関数群の説明です。関数にはシステムコールとライブラリ関数があります。システムコールとは、 各プログラムが OS の提供する機能を利用するための関数で、これが呼ばれると UNIX のカーネルが処理を行い実行します。一方、ライブラリ関数には2つのタイプがあり、 最終的にはシステムコールを呼び出すもの。直接システムコールを使うより便利な造りになっている 文字列操作や計算をおこないメモリ領域を操作するだけで、OS の提供する機能を使わないものがあります。簡単に言うと、ライブラリ関数というのは「便利だから、よかったら使ってね」というもので、システムコールは「〜したいならこれを使うしかないよ」というものです。例えば、open・read・write はシステムコールです。一方、fopen・fread・fgets などは、ライブラリ関数です。どちらの関数の機能も「ファイルの読み書きを行うこと」

  • 1