問題タブ [free]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 正しく構造化された malloc() を free() する方法は?
malloc() した構造体があり、それらを使用した後、それを free() したいのですが、プログラムがここでフリーズします。誰が私が間違っているのか教えてもらえますか?
これが私のコードです:
前もって感謝します!
カンピ
編集:
ファイル名とサイズのメモリを正しく malloc するにはどうすればよいですか?
EDIT2:
申し訳ありませんが、急いでいたため、必要な情報をすべてお伝えできませんでした。今すぐやりましょう :) 基本的に、指定された 2 つのドライブ/フォルダーのファイル リストを取得し、それらを比較するアプリケーションを作成したいと考えています。ファイル名とそのサイズを上記のような構造に保存するのが最も簡単な方法だと思いました(そして今でもそうです)。したがって、ファイル名とサイズ、および構造体のコルスに対してもメモリを動的に割り当てる必要があります(これを彼らが呼ぶものだと思います)。
c++ - 記憶に関する質問、新規および無料など (C++)
C++ でのメモリ処理についていくつか質問があります。
Mystruct *s = new Mystruct
との違いは何Mystruct s
ですか? メモリ内で何が起こるか?このコードを見ると:
/li>
解放されるのはMyStruct tmp
いつ?MyStruct tmp
が最後に自動的に解放されないのはなぜcreate()
ですか?
ありがとうございました!
free - malloc の実装は解放されたメモリをシステムに返しますか?
メモリの割り当てと割り当て解除が頻繁に行われる、寿命の長いアプリケーションがあります。malloc
解放されたメモリをシステムに返す実装はありますか?
この点で、次の動作は何ですか。
- ptmalloc 1、2 (glibc のデフォルト) または 3
- dlmalloc
- tcmalloc (Google スレッドの malloc)
- solaris 10-11 のデフォルトの malloc および mtmalloc
- FreeBSD 8 デフォルトの malloc (jemalloc)
- 買いだめマロック?
アップデート
malloc
日中と夜間でメモリ消費量が大きく異なるアプリケーションがある場合 (例)、解放されたメモリをシステムに戻すよう強制できますか?
そのような戻りがなければ、解放されたメモリは何度もスワップアウトされますが、そのようなメモリにはゴミしか含まれていません。
c - メモリの解放に失敗しました
フリープロセスがエラーで返される理由を本当に理解できません。私はCでこのコードを取得しました:
私が割り当てているボード構造体は次のようになります。
問題は、最初にボード内のsquare_typeを解放する必要があるということでしょうか?その場合、どうすればそれを解放できますか?
c - 以前に解放されたポインターを使用できますか?
C の free() について質問があります。
構造体へのポインターがあるとします (ノード *ptr など)。それを解放した後、それを NULL に初期化し、malloc() または realloc() を使用して新しい場所を指すようにできますか?
例えば:
それは有効ですか、それとも問題を引き起こしますか。malloc の代わりに realloc を使用した理由は、すべての realloc() 呼び出しがループ内にあるためです (したがって、2 番目の引数の sizeof(node) の代わりに、実際には n*sizeof(node) であり、n は増加し続けます...この結果の配列の最後の場所には新しいデータが書き込まれます) ここで、ptr が指すメモリはループが終了するまで増加し続けます。その時点で、ptr が指すメモリ内のデータは必要ありません。それを解放するのが最善です。現在、これはすべて、もう 1 つの大きな (外側の) ループにネストされています。
助けてくれてどうもありがとう
c - 1つのコマンドでmalloc()で作成されたすべてのポインターを解放しますか?
sを使用して作成したすべてのポインターによって使用されているメモリを解放するワンライナーはありますmalloc
か?free
または、これはすべてのポインターを個別に実行することによってのみ手動で実行できますか?
c - free() がメモリを適切に解放していませんか?
で割り当てたメモリを解放しようとしていますが、Eclipse のデバッガによるとmalloc
、free
コマンドが適切に機能していないようです。これはどのように可能ですか?
以下は、おそらく解放された後のデバッガーのスクリーンショットですが、seCurrent->student->year
明らかにそうではありません。year
を使用して割り当てられmalloc
ました。
c - free() 後のセグメンテーション違反、これの一般的な原因は何ですか?
free
特定のポインターを ing した後、セグメンテーション違反が発生します。
エラーや警告なしで値を取得できます。
しかし、私が言ったように、プログラムを解放しようとするとプログラムがクラッシュします。free
コマンドがセグメンテーション違反を引き起こす最も一般的な原因は何ですか?
c++ - 要求された以上の量を割り当てるヒープマネージャによって割り当てられたメモリを解放しようとするとどうなりますか?
この質問はインタビューで私に尋ねられました。
char * p = malloc(n)がnを超えるメモリを割り当て、たとえばNバイトのメモリが割り当てられ、free(p)を使用してpに割り当てられたメモリを解放するとします。
ヒープマネージャはそのような誤った割り当てを実行できますか?今何が起こりますか、nバイトが解放されますか、それともNバイトが解放されますか?
解放されたメモリの量を見つける方法はありますか?
編集
解放されたメモリの量を見つける方法はありますか?
何もないよりマシ、
mallinfo()は、「FredLarson」が指摘するようにいくつかの光を当てることができます