malloc()といえばC言語ではお馴染みのライブラリで、最も良く使用されるライブラリの一つです。しかしその分だけ何らかの不具合を経験した人も多いのではないでしょうか。本書ではmalloc()、free()で確保、解放されるメモリリソースが内部的にどのように管理されているかを説明していきます。mallocライブラリの仕様を理解する事で、ライブラリ使用時に何らかの不具合が発生した際の手助けになればと思います。 ここではLinuxディストリビューションで標準的に使用されているglibcのmallocライブラリを扱います。今回の調査では次の環境を使用しています。 ディストリビューション :Debian sarge パッケージバージョン :glibc-2.3.2.ds1-22 OS : i386 Linux 本書では、上記の通りi386アーキテクチャの場合について記述しています。
大手コンピュータ・メーカー勤務。入社以来10数年をソフトウェア開発の現場で過ごし,その後ソフトウェア品質部へ異動。現場への技術支援や品質教育開発などを主に行っている。「APIで学ぶWindows徹底理解」(日経BP社)などを執筆。 今を去ること十数年前,PC(パソコン)のOSの主流がDOSだったころ,アプリケーションが利用できるメモリーは,高々500Kバイトしかなかった。プログラマは,少ないメモリーをいかに有効利用するかに腐心したものだし,mallocなどのメモリー割り当て関数が,メモリー不足のためにエラーを返すのも珍しいことではなかった。OSがWindowsやLinuxなどに変わり,メモリーの大容量化や低価格化が進んだ今,少なくとも一般的なアプリケーション開発に関する限り,メモリーが確保できるかどうかを心配する開発者はほとんどいないのではないだろうか。 しかし,それでもメモリーは有限であ
Section: Linux Programmer's Manual (3) Updated: 2008-04-05 Index JM Home Page roff page 名前 calloc, malloc, free, realloc - 動的なメモリの割り当てと解放を行う 書式 #include <stdlib.h> void *calloc(size_t nmemb, size_t size); void *malloc(size_t size); void free(void *ptr); void *realloc(void *ptr, size_t size); 説明 calloc() は size バイトの要素 nmemb 個からなる配列にメモリを割り当て、 割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼロ (全ビットがゼロのバイト) にセットされる。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く