malloc/calloc/realloc/free 関数を書き直しています。今のところ、私はmallocを終了し、テストのために、次のような「無料」関数を書きます:
void free(void* ptr) {}
そして、さまざまなソフトウェアで機能をテストし、ls/firefox/man で動作します...
しかし、GIMPのようなソフトウェアを使用すると、次のことができます:
*** Error in `gimp': free(): invalid next size (normal): 0x0000000001d75e00 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x80996)[0x7f280d77e996]
/lib/x86_64-linux-gnu/libc.so.6(+0x82614)[0x7f280d780614]
/lib/x86_64-linux-gnu/libc.so.6(__libc_memalign+0x9a)[0x7f280d781e1a]
/lib/x86_64-linux-gnu/libc.so.6(posix_memalign+0x4c)[0x7f280d783a2c]
SO、何もしない無料でこの問題が発生する理由がわかりません。(私の無料の関数が呼び出され、「printf」でテストしました)
誰かがそれがどこから来たのか知っていますか?
読んでくれてありがとう