問題タブ [allocation]
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.
java - スタックとヒープでの Java メモリ割り当て
この質問をするのは初心者のように感じますが、以下の Set をメソッドに渡して新しい HashSet を指すと、それでも EmptySet として表示されるのはなぜですか? ローカル変数がスタックに割り当てられているためで、メソッドを終了すると新しい変数が吹き飛ばされますか? どうすれば同等の機能を達成できますか?
iphone - iPhone のメモリ リーク (大量の割り当て)
アプリを Instruments でテストしました。リークは見つかりませんでしたが、アプリがクラッシュしました (すぐではありません - [ユーザーのアクティビティによって異なります] 作業から 20 分後)。割り当てを表示しました。それは報告します:
すべてのレコード (「Malloc 16 Bytes」の詳細情報を表示した場合) は、1 つのオブジェクトに対してのみ作成されます。
(...そして、もちろん # を除いて、同じフィールド データを持つ 14693 レコード)。
スタックトレース:
ここにすべてのコードを貼り付けることはできません (アプリは数行ではありません)。しかし、アドバイスをお願いします - メモリリークや問題をどこで探すべきか。そうしないと...
objective-c - 割り当てと解放について混乱している
Objective-C とオブジェクトの割り当て/解放について少し混乱しています。
私がこれを行う場合:
myString
その後、リリースしなければなりませんか?
自己定義オブジェクトについても同様です:
リリースする必要がありsomeObject
ますか?
私が質問している理由は、メソッドでメモリ リークが発生し、それがどこにあるのかがわからないためです。そのため、割り当て/解放を正しく行うかどうかを把握しようとしています。リークは NSPlaceholderString で発生します (NIB ファイルのどこかに隠されていると思います)。
また、オブジェクトがある場合、それを割り当てますが、一部のプロパティのみを使用しますが、dealloc ですべてのプロパティを解放すると、メモリ リークが発生しますか?
申し訳ありません-私の質問が少なくともある程度の意味をなすことを願っています:)
助けてくれてありがとう!
c - Cでエラーチェックを行うたびに、freeの長いチェーン(または削除)を回避するにはどうすればよいですか?
コードを非常に防御的に記述し、呼び出すすべての関数からの戻り値を常にチェックするとします。
だから私は次のようになります:
free()
物事がいかに早く制御不能になるかに注目してください。一部の関数が失敗した場合は、前にすべての割り当てを解放する必要があります。コードはすぐに醜くなり、私がすることはすべてをコピーして貼り付けることだけです。私はコピー/貼り付けプログラマーになります。さらに悪いことに、誰かがその間にステートメントを追加した場合、彼はfree()
追加を呼び出すために以下のすべてのコードを変更する必要があります。
経験豊富なCプログラマーはこの問題にどのように取り組んでいますか?何もわからない。
ありがとう、BodaCydo。
objective-c - ポインタでallocを呼び出す
私はObjectiveCでcocos2dを使用しています。
現在空のCrystalineBubbleというクラスがあり、CCNodeから継承しています。
そのクラスのインスタンスを作成して割り当てようとすると、「CrystalineBubble」が「-alloc」に応答しない可能性があるという警告が表示されます。
これが、allocを作成して呼び出すコード行です。
CrystalineBubbleクラスをインポートしました。ポインタcrystaline_bubbleにはメモリが割り当てられていません。その行をステップオーバーした後も、0x0を指しています。
私はここで信じられないほど愚かなことをしていることを知っています。私は自分のエラーを見つけることができません。
pointers - char ポインターに char を格納する
であるグローバル変数があり*char
ます。私のメイン関数ヘッダーはint main(int argc, char* argv[argc]){...}
. この 2 行のコードはそのままにしておく必要があります。メイン関数の最初の引数は、*char
を使用して char に変換するtype の数ですatoi(...);
。私は基本的にASCII値を対応する文字に変更しています。今、私が持っているこのローカル変数の文字を、char ポインターであるグローバル変数に格納したいと思います。問題がメモリの割り当てに関連していることはわかっていますが、これについてどうすればよいかわかりません。
私のコード:
これにより、セグ フォールトが発生します。
objective-c - オブジェクトの初期化時に割り当てられたメモリを解放しようとしていますが、Xcode の警告が表示されます
さて、main.m プログラム コードができました。mvds は、新しいインスタンスを作成したときにクラスから借りた割り当てられたメモリを解放することを提案しました。
何らかの理由で、使用してメモリを解放しようとすると
コンバーターが -free に応答しない可能性があるという警告が表示され、プログラムを終了すると、最初にループバックしようとしたり、プログラムを終了しようとしたりすると、ジャンクが大量に吐き出されます。
メモリがオフになっている可能性があるため、メモリを解放しようとしている場所、または設定したループに関係している可能性があると思います。
ここに私のmain.mコードがあります:
objective-c - [[self class]alloc]の代わりに[ClassNamealloc]を使用するのはなぜですか?
私はMacでMarkDalrympleのLearnObjective-Cを読んでいて(プロトコルの章だけなので、まだ比較的新しいです)、何かを理解しようとしています:
なぜクラスを独自の名前で参照するのでしょうか。もし私がというクラスを持っていたらFoo
、なぜ私はこう書きたいと思うでしょう、
ではなく
私がサブクラスのバーを持っていた場合、最初のオプションは私が書くことを無効にしませんか?
2番目のオプションはそれを許可しますか?最初のオプションはいつより良いでしょうか?
c - malloc()のバッファリングを実装しているオペレーティングシステムはありますか?
for / while/do内の多くのc/malloc()は多くの時間を消費する可能性があるため、オペレーティングシステムが高速malloc用にメモリをバッファリングするかどうか知りたいです。
私は、mallocの「貪欲な」ラッパーを作成することでmallocを高速化できるかどうかを考えてきました。たとえば、1MBのメモリを要求すると、最初のアロケータは10MBを割り当て、2番目、3番目、4番目などにmalloc関数を呼び出すと、最初に「通常の」方法で割り当てられたチャンクからメモリが返されます。もちろん、使用可能なメモリが十分にない場合は、新しい貪欲なメモリチャンクを割り当てる必要があります。
どういうわけか、誰かが以前にこれまたは同様のことをしたに違いないと思います。だから私の質問は単純です:これはメモリ割り当てプロセスを大幅にスピードアップするものですか?(はい、質問する前に試してみることができましたが、必要がなければ、そのようなことを書くのは怠惰です)
firefox - NPN_MemFreeがGoogleChromeに返されるデータをねじ込んだ後のNPN_MemAlloc
NPAPIプラグインを終了しました。これは、Google Chromeで正常に機能しますが、奇妙な問題があります。問題は、ブラウザに文字列を返すメソッドをプラグインにコーディングしたことです。そのためには、ブラウザにメモリを割り当て、結果の文字列をブラウザにコピーする必要があります。何かのようなもの:
'm_pPtr'はクラスのデータメンバーであり、構築時にNULLに初期化されることに注意してください。このメソッドをGoogleChromeから2回呼び出すと、問題が発生します。初めてそれはうまくいきます。2回目以降は、ブラウザに「X」と表示されたガベージ値を返します。Firefoxで同じプラグインをテストしましたが、メソッドを何度呼び出しても正常に動作し、正しい値を返します。しかし、プラグインをロードしたページを閉じると、Firefoxがクラッシュします。
この奇妙な状況で何が起こるかについてのポインタはありがたいです。私はそれに取り組んでおり、有用な情報に到達したらスレッドを更新します。