NeiNeigh's blog

覚書のようなブログ.PC・アプリケーション・プログラミング・オーディオ・アニメ

C言語

sprintf()とsnprintf()の違い(?)

両者の違いでぐぐると,snprintf()ならバッファオーバーフロを防げるよってことが書いてあるページが多い.でも,使ってたらこんな違いもあったらメモする. コメントでこの記事に対する指摘を頂きました. この問題は解決済みです.コメントを参照してくだ…

libeventの使い方

だんだんlibeventがどんなものかわかってきたのでメモ libeventはスレッドセーフでないため,マルチスレッドで使う場合にはこのリソース(event_base)を分けて管理する必要がある.これについては最後に記す. event_base1つだけで簡単にやる方法 ここより引…

C言語のソケットプログラミング

ソケットプログラミングについて調べた. ソケット通信 ソケット通信の流れ おおまかな流れは 接続をリスニングするソケットを作成.socket() ポート番号・IPアドレスなどを指定するための構造体を設定.struct sockaddr_in その構造体を使ってソケットにポ…

C言語でプロセス自身のメモリ使用量を知るには?

いくつかの方法があったのでメモする. getrusage() このシステムコールを使えば,linuxならメモリ使用量を調べられる. 詳しくはこちらのサイトにある http://goyoki.hatenablog.com/entry/2013/05/11/031202

C言語でマルチスレッドプログラミング

Cでマルチスレッドプログラミングする必要性がでてきたので,それについて調査. pthread マルチスレッドするならこのPOSIXのライブラリを使うのが普通っぽい. memcachedはこのpthreadとlibeventで,コネクションをスレッドに振り分けてるんだと思う.pthre…

C言語でのmalloc凡ミス

構造体をmallocしてfreeしてたらなんかしらんけどエラーでた. ソースコード typedef struct _item{ char *key; //このkeyをfreeするとエラー char *value; struct _item *next; struct _item *pre; } item; int main(){ item *it = (item *)malloc(sizeof(i…