sbrk

    4

    1答えて

    私は、Unixシステムがbrkと呼び、何の機能も持っていないことを知っていますが、私はそれらが何を表しているのか分かりません。誰も私を啓発することはできますか?

    1

    2答えて

    次のコードを使用して、mallocを使用せずにヒープにメモリを追加しようとしています(サイズは関数内のunsigned intパラメータであり、 void * temp = sbrk(sizeof(void*)+sizeof(unsigned int)+size); は、今私は私がしようとすると、ただし、NULLであることを一時中のvoid *の値を設定したい *(void *)temp =

    5

    2答えて

    manual pageは私にそんなに教えてくれました。それを通して、私は "glibc"のメモリ管理に関する多くの背景知識を知っています。 しかし、私はまだ混乱します。 "malloc_trim(0)"(パラメータとしてゼロを書き留めます)の意味(1.) "ヒープ"セクションのすべてのメモリがOSに返されますか?または(2.)ヒープの最上位領域のすべての "未使用"メモリがOSに返されますか? 答

    1

    1答えて

    sbrkの仕組みを理解しようとしています。 int main() { printf("end of the break : %p\n", sbrk(0)); printf("end of the break : %p\n", sbrk(10)); printf("new end of the break : %p\n\n", sbrk(0)); } この出力:

    2

    2答えて

    私は難題として、そしてパフォーマンスのために、アセンブリで単純なサーバーを作成しています。私が知っている唯一の方法は、システムコール経由です。 (int 0x80を使って)明らかに、アセンブル時やロード時に割り当てられるよりも多くのメモリが必要になるので、読んで、主にmmap()を理解していないためにsbrk() いずれにしても、Linuxはsbrk()に対して割り込みを提供せず、brk()のみ割

    2

    1答えて

    カーニハンとリッチー(第2版ページ188)からこのコードを参照し、 static Header* morecore(unsigned nu) { char *cp, *sbrk(int); Header* up; if (nu < NALLOC) nu = NALLOC; cp = sbrk(nu * sizeof(Header));

    0

    1答えて

    Kernighan and Ritchieの著書「The C Programming Language、2nd Edition」に示されているストレージアロケータプログラムを理解しようとしています。私はほとんどを理解したと思うが、プログラムをコード化するときWindows 8.1 x86_64 with TDM GCC version 5.1.0。エラーundefined reference to