- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
914 :デフォルトの名無しさん[sage]:2015/08/02(日) 14:36:02.95 ID:4+/pksin - >>896
ちょっそれK&R本に実装例の1つが詳細に書かれていた希ガス…
|
- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
915 :デフォルトの名無しさん[sage]:2015/08/02(日) 14:48:48.65 ID:4+/pksin - ていうかネットに転がってた、
ttp://radlon.github.io/blog/2014/08/25/krmalloc/ K&R malloc!!!!!!!!!!!!!!!11!!!!!!!!1111
|
- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
918 :デフォルトの名無しさん[sage]:2015/08/02(日) 20:42:19.52 ID:4+/pksin - >>917
VCでは現役 メモリブロックの管理情報(リンクチェーン)が実データ領域と隣接して存在するからこそ _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); とかでリンクチェーンの破壊を検出できすぐる、 ていうか>>894みたいな実装の代表例がK&R本に書いてあるやつなのであって、 マジK&R本は不磨の大典
|
- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
919 :デフォルトの名無しさん[sage]:2015/08/02(日) 20:44:57.53 ID:4+/pksin - メモリ破壊系のバグは破壊が起きたタイミングで即検出しないとデバッグがやっかい極まりない話になるので
データ領域でメモリ破壊が起きても動いてしまうビットマップ方式はちょっと…
|
- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
920 :918[sage]:2015/08/02(日) 20:51:55.93 ID:4+/pksin - スマン訂正、ヒープの整合性確認は_CrtCheckMemory()呼び出しでやるんだった;
(もしくは_CrtSetDbgFlag(_CRTDBG_CHECK_ALWAYS_DF)でmalloc()/free()毎に自動チェック) 実データ領域でのメモリ破壊がこれで高い率で検出できる _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); というのはプログラム実行時のリークチェックのやつ
|