ログ日記

作業ログと日記とメモ

C

gitのソースコードを読む2: freeは不要?

C

昨日の続き。 *1 今日が本題。 C言語で構造体を領域をどのように確保するのがいいのかを調べるのが目標。 コミット 7fa6b4e を主に読む。 全てのデータの基本となる構造体 struct object struct object { unsigned parsed : 1; unsigned used : 1; unsigned …

gitのソースコードを読む

C

C言語の書き方を調べていて、やはりここは何かのソースを読むべきだと思ってgitを読むことにした。 http://cdn8.atwikiimg.com/git_jp/pub/git-manual-jp/Documentation/chunked/ch10s02.html ここも参考にしつつ。 https://github.com/git/git ここからソー…

mallocの使いどころが分からない

C

既存のAPIがmalloc前提の場合は置いといて、自分で構造体を作る場合。 例えばデータの数が多い場合 struct very_long_list { char *name; void *data; }; static struct very_long_list *list_head; static int list_count = 0; struct very_long_list *very…

libiconvで文字コード変換

C

C言語でのiconvの使い方が分からない。 #include <iconv.h> size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/iconv.3.html このインターフェースは何な</iconv.h>…