問題タブ [dword]

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 投票する
1 に答える
676 参照

c# - C# UInt と Cpp DWORD が負の値で競合する

C++:DWORD dwState = (DWORD)-1;

ここでは問題はありません。

C#: uint state = -1;

ここで、DWORD に相当するとされる uint または UInt32 は負の値を持つことができず、以下の例外がスローされます。

UInt32 の値が大きすぎるか小さすぎる

cpp プログラムと c# プログラムの両方からこの値 (DB に格納されている) を読み取るコードがあります。Cpp は、無効な状態を -1 としてマークします。したがって、uint 型の C# フロントから読み取ることができません。C++ プログラムでこの型を変更することはできません。-1 とは別に、cpp は variable に 0 から 65536 の間の任意の値を書き込むことができます。

どうすればC#フロントから扱えるの!?

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

c - アセンブリ演算子 AND

これを続けるために: C プログラムのデバッグ (int 宣言) より多くのコードをテストし、コンパイラがそれにどのように反応するかを確認することにしました。そこで、ローカル変数をテストするためにこれを試すことにしました。

わかりました、int a、b、c を実行しました... メインのフレーム サイズをテストし、サブ $0x10,%esp が成長していることを確認します (私は Linux を使用しているため、サブである可能性があります)。 $0x30,%esp したがって、「disas main」コマンドを使用した gdb の出力は次のとおりです。

この行: 0x0804841f <+3>:and $0xfffffff0,%esp and 演算子とは何ですか? なぜ大きな数があるのですか?

なぜ movl コマンドのオフセットが負でないのか:movl $0xa,-0x4(%ebp) これまでのところ、AND は 1 と 1 が 1、0 と 0 が 0、1 と 0 が 0 などのような論理演算子であることを知っています。この場合、%esp には、メイン関数を呼び出した人のベース フレーム アドレスである ebp 値があります。

これがこのようにコンパイルされる理由を説明できる人はいますか?

私は何かが欠けていると思います。編集:これについて話しているstackoverflowのいくつかの「トピック」を見ました。共有します: link1 link2 link3

0 投票する
2 に答える
48 参照

arrays - いくつかのスレッド用語に関するクエリ

アプリケーションでスレッド化の概念を理解し、実装しています。今以来、物事は順調に進んでいます。しかし、私にはまだ答えられていない質問がいくつかあり、それらが私の作業を遅らせています。どなたか回答いただければ幸いです

  1. Createthread() では、引数を 1 つだけ取ることができますか? MSDN の Web サイトや他のすべての例で見たように、LPVOID という引数は 1 つしかありませんでした。

  2. もう一つは、戻り値 DWORD WINAPI が戻り値として何を意味するかです。DWORD 、 int 、またはその他の戻り値の型のみを使用できますか。私はそれがHANDLEと関係があると思います(そうかもしれません)

  3. 私はスレッドの配列を使用したいので、配列を関数に学習し、(私が理解しているように)スレッド自体は CreateThread() ルーチンによって呼び出される単なる関数であるため、その概念をそこに実装しようとしましたが、できませんでした戻り値の型 DWORD WINAPI が許可されていませんでしたか?

  4. ファイルを保存するための単一のスレッドが1つありますが、複数のファイルを同時に保存できるようにその配列が必要です(正確には同じ開始時間ではなく、並列ファイル保存のようなものです)。どうやってやるの?

ありがとうシャン

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

c++ - DWORD としての C++ ポインター

C++ では、単純にポインタを DWORD にキャストできますか?

それはうまくいくでしょうか?

0 投票する
0 に答える
130 参照

pointers - How is the stack altered with PUSH WORD bx?

EAX is 102 = socketcall in x86 assembly.

Here's my question. How does the stack look after this code:

Like this:

Or like this:

Basically, does it assumbe 4 bytes or does it just push one byte? Also, if I were to push another single byte, would it be pushed to a new 'box' or into the same 'box'?

0 投票する
0 に答える
1055 参照

node.js - Modbus: nodejs で 16 進値を dword に変換する

通信プロトコルとして modbus を使用するメーターのマニュアルに記載されている仕様:

私はこの hexValue を持っています: 00003ef5.

どこhighword = 0000lowword = 3ef5

したがって、rx は になり3ef5、これを 10 進数に変換すると が得られ16,117ます。

今のところ私はこれを使用しました:

nodejsバッファライブラリまたはこれよりも優れた他の方法を使用して、16進値を直接dwordに変換する方法はありますか?

0 投票する
0 に答える
1247 参照

c++ - C++ CListCtrl - GetItemData() が間違った値を返す?

SQL バックエンドを備えた C++ アプリケーションがあり、必要に応じてリスト コントロール行に SetItemData() を使用して、取得した列 (データベース内の整数、主キー bigint) の行 ID を格納しています。ID を照会する必要がある場合は、GetItemData() で取得します。

この 1 つのシナリオでは、GetItemData() が格納された ID ではなく、ランダムな 7 桁の数字を返すという奇妙な問題が発生しています。行を追加するときは、次のコードを使用します。

値を取得して確認するには、次のようにします (nCurrentlySelectedIndex が正しいと判断した場合)。

奇妙なのは、最初のバッチの直後に 2 番目のコード バッチを実行しても、すべて問題ないということです。しかし、別の関数で実行すると、msgID はランダムな 7 桁のセットに設定され、毎回異なります。

誰がこれを引き起こしているのか考えていますか?