JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ロの要件 ( feature_test_macros (7) 参照): brk (), sbrk (): glibc 2.19 以降: _DEFAULT_SOURCE || (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L) glibc 2.12 から 2.19 まで ... 0) && ! (_POSIX_C_SOURCE >= 200112L) glibc 2.12 より前: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 説明 brk () と sbrk () は プログラムブレーク (program break) の場所を変更する。 プログラムブレークはプロセスのデータセグメント (data segment) ... が有効で、 システムに十分なメモリーがあり、 プロセスのデータサイズの最大値を超えていない場合である ( setrlimit (2) を参照)。 sbrk () は、プログラムのデータ空間を increment バイトだけ増やす。 increment を 0 にして sbrk () を呼び出すことで、プログラムの現 ... ... ロの要件 ( feature_test_macros (7) 参照): brk (), sbrk (): glibc 2.19 以降: _DEFAULT_SOURCE || (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L) glibc 2.12 から 2.19 まで ... 0) && ! (_POSIX_C_SOURCE >= 200112L) glibc 2.12 より前: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 説明 brk () と sbrk () は プログラムブレーク (program break) の場所を変更する。 プログラムブレークはプロセスのデータセグメント (data segment) ... が有効で、 システムに十分なメモリーがあり、 プロセスのデータサイズの最大値を超えていない場合である ( setrlimit (2) を参照)。 sbrk () は、プログラムのデータ空間を increment バイトだけ増やす。 increment を 0 にして sbrk () を呼び出すことで、プログラムの現 ... ... sbrk (2) や madvise (2) を呼び出して) ヒープの未使用メモリーの解放を試みる。 pad 引数は、 ヒープの一番上から切り詰める際に残す未 ... (つまり 1 ページかそれ未満)。 0 以外の引数を指定すると、 ヒープの一番上にある程度の量の未使用領域を残し、 将来の割り当てを sbrk (2) でヒープを拡張せずに行えるようにできる。 返り値 malloc_trim () 関数はメモリーが実際に解放されシステムに戻された場合に ... ree (3) により自動的に呼び出される。 mallopt (3) の M_TOP_PAD と M_TRIM_THRESHOLD の議論を参照。 Only the main heap (using sbrk (2)) honors the pad argument; thread heaps do not. Since glibc 2.8 this function frees memory in all arenas and in all chu ... ... しながら、 brk (2) や malloc (3) でメモリーが割り当てられるに連れて、プログラムブレークは変化していく。 引数に 0 を指定して sbrk (2) を呼び出すことで、プログラムブレークの現在値を知ることができる。 例 下記のプログラムを実行すると、次のような出力が得ら ... 0p\n", &edata); printf(" uninitialized data (end) %10p\n", &end); exit(EXIT_SUCCESS); } 関連項目 objdump (1), readelf (1), sbrk (2), elf (5) この文書について この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説 ... ... しながら、 brk (2) や malloc (3) でメモリーが割り当てられるに連れて、プログラムブレークは変化していく。 引数に 0 を指定して sbrk (2) を呼び出すことで、プログラムブレークの現在値を知ることができる。 例 下記のプログラムを実行すると、次のような出力が得ら ... 0p\n", &edata); printf(" uninitialized data (end) %10p\n", &end); exit(EXIT_SUCCESS); } 関連項目 objdump (1), readelf (1), sbrk (2), elf (5) この文書について この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説 ... ... しながら、 brk (2) や malloc (3) でメモリーが割り当てられるに連れて、プログラムブレークは変化していく。 引数に 0 を指定して sbrk (2) を呼び出すことで、プログラムブレークの現在値を知ることができる。 例 下記のプログラムを実行すると、次のような出力が得ら ... 0p\n", &edata); printf(" uninitialized data (end) %10p\n", &end); exit(EXIT_SUCCESS); } 関連項目 objdump (1), readelf (1), sbrk (2), elf (5) この文書について この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説 ... ... r には、 malloc (3) などの呼び出し元 (caller) のアドレスが格納される。 変数 __after_morecore_hook は、領域の追加要求があり sbrk (2) が呼ばれた後で毎回呼び出される関数へのポインターである。 準拠 これらの関数は GNU による拡張である。 注意 The use of th ... ... r には、 malloc (3) などの呼び出し元 (caller) のアドレスが格納される。 変数 __after_morecore_hook は、領域の追加要求があり sbrk (2) が呼ばれた後で毎回呼び出される関数へのポインターである。 準拠 これらの関数は GNU による拡張である。 注意 The use of th ... ... r には、 malloc (3) などの呼び出し元 (caller) のアドレスが格納される。 変数 __after_morecore_hook は、領域の追加要求があり sbrk (2) が呼ばれた後で毎回呼び出される関数へのポインターである。 準拠 これらの関数は GNU による拡張である。 注意 The use of th ... ... r には、 malloc (3) などの呼び出し元 (caller) のアドレスが格納される。 変数 __after_morecore_hook は、領域の追加要求があり sbrk (2) が呼ばれた後で毎回呼び出される関数へのポインターである。 準拠 これらの関数は GNU による拡張である。 注意 The use of th ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。