問題タブ [unsafe]
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.
memory - sun.misc.Unsafe:アドレスからバイトを取得する方法
メモリから値を読み取る方法があると聞きました(メモリがJVMによって制御されている限り)。8E5203
しかし、たとえばアドレスからバイトを取得するにはどうすればよいですか?と呼ばれるメソッドがありgetBytes(long)
ます。これは使えますか?
どうもありがとう!ピート
c# - C# の構造ジェネリック
この問題で私を助けてください:
次のような構造を定義してみます。
しかし、私はこのエラーを受け取ります:アドレスを取得したり、サイズを取得したり、マネージド型 sNodo へのポインターを宣言したりできません。
どうすれば修正できますか?動的メモリを使用して「汎用」スタックを作成しようとしています。
ご清聴ありがとうございました
c# - アンマネージ ストリームからの読み取り - 安全でないコード、IntPtr
以下は、Firefox (Gecko) 3.5 コードで公開されています。
ここでは、小さな .Net/C# アプリで、コードの他の場所から返された this のインスタンスを利用したいと考えていますが、int Read(IntPtr aBuf, uint aCount)
メソッドをどう処理するかがわかりません。
byte[]
メソッドから受け取ったコンテンツをローカル配列に入力したいのですRead
が、IntPtr をどうするか、またはそれをマネージ バイト配列に変換する方法がわかりません。
ヒント/推測/指針はありますか? (しゃれは意図されていません)
c# - 次の C# コードを説明してください: byte* p = (byte*) (void*) Scan0;
この行を理解できないネットからコードを見つけました:-
Scan0 はSystem.IntPtr です。 C#.Netのコードです。上記の行について説明してください。
完全なコードを以下に示します。これは画像をグレースケールに変換するコードです。
私はすべてのコードを理解していますが、この行にのみ問題があります。
c# - WPF ブラウザ アプリケーションは安全でないコードを実行できますか?
フラクタルをプロットし、ユーザーがインタラクティブに探索できるようにするソフトウェアを作成しています。現在、ウィンドウ化された wpf アプリにコードがあります。自分のウェブサイトに表示できるように、ブラウザでホストされている wpf アプリに入りたいと思います。問題は、コードが「安全でない」コードを使用してレンダリングを行うことです。GDI+ を使用する代わりに BitmapData を使用してイメージ メモリに直接アクセスしています。wpfブラウザアプリで安全でないコードを実行する方法はありますか?
c# - IntPtr を必要とするメソッドを呼び出すには、/unsafe と Marshal.AllocHGlobal のどちらを使用するのがよいでしょうか?
アプリケーションの期間中、いくつかのインスタンスが持続するクラスがあります。これらのオブジェクトはそれぞれ、既存の float[] バッファからデータを追加する dll メソッドを呼び出し、完全なデータセットを IntPtr (float 配列) を受け入れる DLL メソッドに毎秒数回渡す必要があります。アンマネージ コードとして実行する方がよいでしょうか:
または、安全でないタグを使用して修正した方がよいでしょうか?
コンパイラで「安全でない」タグを使用する必要がないという利点はありますか? マーシャルクラスは実際に「より安全」ですか? これらの方法のうち、一般的にパフォーマンスが優れているのはどれですか?
私が前者に傾いているのは_floats
、メモリ空間をクリーンアップするときに GC が (非常に大きくなる可能性がある) 心配する必要がないからです。それは合理的な懸念ですか?推奨事項は ArraySize のサイズに依存しますか?
c# - ポインター (つまり int[]) を DLL に渡すときに、「固定」は本当に何かを保証しますか?
私はこれを検索しようとしましたが、何も見つかりませんでしたが、int[] をポインターとしてネイティブ DLL 関数に渡すと、DLL がポインターへの参照を維持できる危険性がまだありません。 「固定」ブロックが終了した後に再度アクセスしますか? GC がアレイを移動した場合、メモリ アクセス エラーが発生しませんか? もしそうなら、どうやってこれを回避しますか?それとも、これはありそうもないシナリオですか?
java - Javaでポインタを使用するにはどうすればよいですか?
Javaにはポインターがないことは知っていますが、Javaプログラムはポインターを使用して作成でき、これはJavaの専門家である少数の人が作成できると聞きました。それは本当ですか?
c# - 安全でないコードと StringBuilder を使用した修正されたステートメント
パラメータで文字列を出力するC関数にStringまたはStringBuilderを渡す方法について疑問に思っていました。私は素晴らしい答えを見つけました
C# からアンマネージ関数を呼び出す: StringBuilder を渡すか、安全でないコードを使用する必要がありますか?
しかし、私には疑問があります。インポートされた関数の実行中にガベージ コレクターが (マネージド) StringBuilder インスタンスを再配置しない理由を誰でも説明できますか?