問題タブ [memory-address]

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.

0 投票する
11 に答える
229321 参照

python - オブジェクトメモリアドレスへのアクセス

Pythonでメソッドを呼び出すと、次のobject.__repr__()ようなものが返されます。

をオーバーロードした場合にメモリアドレスを取得する方法はありますか?それ__repr__()以外に、それを呼び出しsuper(Class, obj).__repr__()て正規表現しますか?

0 投票する
3 に答える
2949 参照

c++ - ポインタ変数にもメモリアドレスが割り当てられていますか?

C++ では、スタック上で単純な変数にメモリ アドレスが割り当てられるため、ポインタを使用してこのメ​​モリを格納し、それを指すことができます。ポインタにもメモリアドレスが割り当てられていますか?

はいの場合、ポインターのポインターを取得できますか?

0 投票する
4 に答える
51849 参照

javascript - JavaScript変数のメモリアドレスを取得するにはどうすればよいですか?

JavaScript変数のメモリアドレスを見つけることは可能ですか?JavaScriptコードは、JavaScriptがC ++のフロントエンドとして使用され、ブラウザーで実行されない通常のアプリケーションの一部です(埋め込まれています)。使用されるJavaScript実装はSpiderMonkeyです。

0 投票する
6 に答える
4299 参照

c++ - C++ ハッキング ゲーム コードでアドレスを保持しますか?

ゲーム内のアドレスを編集して無制限の弾薬を取得するこのコードがありますが、アドレスはコンピューターごとに異なり、ゲームを再起動するたびに異なることがわかりました。彼らは変わります。

0 投票する
5 に答える
39111 参照

memory - ページテーブルを使用して仮想アドレスを物理アドレスに変換するにはどうすればよいですか?

通常のページテーブルがあるとしましょう:

ページ テーブル (ページ サイズ = 4k)

51996 のような任意の論理アドレスを物理メモリ アドレスに変換するにはどうすればよいですか?


対数底 2 (4096) を取ると、12 になります。これは、アドレスのオフセットに使用するビット数だと思います。

よくわかりません。51996 / 4096 = 12.69。これは、特定のオフセットで page#12 にあるということですか?

それを「51996」の物理アドレスに変換するにはどうすればよいですか?

0 投票する
6 に答える
239542 参照

c - Cで値のアドレスまたはポインタを出力します

かなりシンプルに見えることをしたいです。結果は得られますが、問題は、結果が正しいかどうかを知る方法がないことです。

私はCで作業しており、2つのポインターがあります。ポインタの内容を印刷したい。ポインターを逆参照してポイントされた値を取得するのではなく、ポインターが格納しているアドレスが必要です。

私は次のコードを書きました。私が知る必要があるのは、それが正しいかどうか、そうでない場合はどうすれば修正できるかということです。

私がこれを投稿している間(そしてそれが正しいことが重要である理由)は、私が最終的にポインターからポインターへのこれを行う必要があるということです。あれは:

0 投票する
5 に答える
4774 参照

windows - Windows がシステム アドレス空間用に 1Gb (または 2Gb) を予約するのはなぜですか?

Windows アプリケーションは通常、32 ビット システムで 2Gb のプライベート アドレス空間を持っていることが知られています。このスペースは、/3Gb スイッチを使用して 3Gb まで拡張できます。

オペレーティング システムは、残りの 4Gb を予約します。

私の質問はなぜですか?

カーネル モードで実行されるコード (つまり、デバイス ドライバー コード) には、独自のアドレス空間があります。排他的な 4Gb アドレス空間に加えて、オペレーティング システムが各ユーザー モード プロセスの 2Gb を予約したいのはなぜですか?

その理由は、ユーザーモードとカーネルモードの呼び出しの間の移行だと思いました。たとえば、 への呼び出しにNtWriteFileは、カーネル ディスパッチ ルーチンのアドレスが必要です (そのため、システムは各アプリケーションで 2Gb を予約します)。しかし、 を使用するSYSENTERと、システム サービス番号は、カーネル モード コードがどの関数/サービスが呼び出されているかを知るのに十分ではありませんか?

オペレーティング システムが各ユーザー モード プロセスで 2Gb (または 1Gb) を使用することが非常に重要な理由を明確にしていただければ幸いです。

0 投票する
6 に答える
2489 参照

c - Cでアドレスを取得するにはどうすればよいですか?

これにはおそらく本当に簡単な答えがありますが、私にはそれがわかりません。

さて、printf は 0 (x) と 2293752 (&x) を返します。任意のアドレス (&) を見て、そこに既に格納されているものを確認する方法を見つけようとしています。これは実験用です。何か助けはありますか?

0 投票する
1 に答える
363 参照

iphone - Iphone: NSInvocation は引数の参照を変更しますか?

写真をウェブサイトにアップロードするために NSinvocation を設定しようとしています。私はこれをやっています:

  1. nsinvocation オブジェクトを設定する
  2. UIImage* を nsinvocation オブジェクトに引数として追加し、その他の引数もいくつか追加します。
  3. 必要に応じて nsinvocation を呼び出す
  4. nsinvocation を呼び出したときに呼び出される関数は、UIImage にアクセスできません。NSInvalidArgumentException が発生します。

しばらく掘り下げた後、UIImage を引数として NSInvocation オブジェクトに追加し、元に戻そうとすると、別のメモリ アドレスが返されます。これは正常ですか?

//最初に、メモリ アドレス "A" を持つ有効な UIImage "imgHolder" があります...

NSInvocation *myInvocation = [NSInvocation invocationWithMethodSignature:...

[myInvocation setArgument:imgHolder atIndex:5];

//さて、奇妙な部分は...

UIImage *checkImg;

[myInvocation getArgument:&checkImg atIndex:12];

// checkImg のメモリ アドレスは "B" です!

checkImg を使用しようとすると、有効な UIImage ではないと思わせるさまざまな例外が発生します。

何が起こっているのですか?checkImg のメモリ アドレスは imgHolder のメモリ アドレスと同じであるべきではありませんか?