問題タブ [intptr]
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# - 毎回 IntPtr (AllocHGlobal) を割り当て/割り当て解除するか、保存する方が良いですか?
FreeHGlobal を呼び出す関数の最後に、頻繁に使用する関数 (おそらく毎秒 30 回) で AllocHGlobal (常に同じサイズ) を使用する状況があります。
AllocHGlobal で割り当てられたメモリの一部を保持し、クラス Dispose のときにそれを解放する方が良いですか、それとも関数を呼び出すたびに割り当て/解放する必要がありますか?
このメモリが C# でどのように動作するかはわかりません。これは私にとって「新しい世界」です。
c# - IntPtr の配列の処理
私は近いと思いますし、解決策はばかげているに違いありません。
次の関数を定義する C++ ネイティブ DLL があります。
基本的に、ファイル パスを指定すると、この関数はバイト配列 (BYTE*) のリストを作成し、データ パラメータを介してポインタのリストを返す必要があります。それぞれが異なるバイト配列を指しています。
C# から IntPtr の配列を渡し、個々の配列を順番にマーシャリングできるようにしたいと考えています。私が使用しているコードは次のとおりです。
問題は私の C++ コードにあります。*(data + i * sizeofarray) = pByte; を割り当てると、ポインターの配列が破損します...何が間違っていますか?
更新: 概念を分離するための新しいソリューションの作成を開始したところ、すでに非常に奇妙なものが見つかりました。見てみましょう:
C# コード
C++ コード
ネイティブ コードへの呼び出しの前に、pList には 10 個の IntPtr.Zero 要素があります。ネイティブ呼び出しから戻った後、1 つしかありません...何か問題があります...また、void** を BYTE** に置き換えた場合にも発生します
c# - extern 関数で default(IntPtr) は合法ですか?
私が次の署名を持っているとしましょう:
デフォルトを使用したい:
これは有効ですか?C++ では、ポインタを 0 または null に使用します。C# では、IntPtr が値なのか参照なのかさえ明確ではありません。
関数を手動で呼び出す場合は、 を使用しますExternal(10, IntPtr.Zero);
。私の質問は次のとおりだと思います:default(IntPtr)
と同じ動作をしIntPtr.Zero
ますか?
c++-cli - intptrとは何ですか?
IntPtrとは何かわかりませんでしたが、誰かがこれを説明できますか?ありがとう
c# - C# で IntPtr から byte[] を取得する方法
IntPtr
メソッドにaを渡したいのですがbyte[]
、C#でパラメーターを取ります。それは可能ですか、可能であればどうすればそれを行うことができますか?
どうも
c# - 3D配列へのポインタ
私は3D配列を持っていて、IntPtr
それを指摘したいので、ここで私がしたこと..誰かがそれが正しいかどうか教えてもらえますか...
myvolumeのサイズが200x100x100であることに注意してください
c# - C# IntPtr から Byte[] を取得する方法
デリゲートを持つ .dll (自分のものではない) があります。このデリゲート コールバック関数は次
のとおりです。
IntPtr を Byte[] に変換するにはどうすればよいですか? ペイロードは実際には Byte[] だと思います。それがByte[]ではなく、それ以外の場合、データが失われますか?
c# - C# で IntPtr と UIntPtr の演算を実行できないのはなぜですか?
それは単純に見える質問です:
ネイティブ サイズの整数が算術演算に最適であるとすれば、C# (または他の .NET 言語) がネイティブ サイズのIntPtr
andを使用した算術演算をサポートしないのはなぜUIntPtr
ですか?
理想的には、次のようなコードを記述できます。
32 ビットと 64 ビットの両方のプラットフォームで動作するようにします。(現在、 を使用する必要がありますlong
。)
編集:
私はこれらをポインターとして使用していません(「ポインター」という言葉は言及されていませんでした)。native int
これらは、MSIL およびintptr_t
Cの C# の対応物として扱うことができます。これらはポインターではなくstdint.h
整数です。
memory - IntPtrがメモリリークを引き起こしていますか?
この関数はループしています。プログラムを実行すると、IntPtr の行でメモリの問題が発生します。delete[] を配置しましたが、それでもメモリの問題は解決しません。誰か助けてください。ありがとう
これは C++\CLI です
c# - インスペクターからウィンドウハンドルを取得する
重複の可能性:
ウィンドウのオープンイベントとウィンドウのハンドル
こんにちは皆さん、
IntPtr
開いたばかりのOutlookウィンドウからウィンドウハンドル()を取得するにはどうすればよいですか?
私はCシャープに不慣れです。