問題タブ [memcpy]

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

c - Cでは、memcpyは符号付き整数引数をどのように扱いますか?

C では、memcpy 関数の 3 番目の引数として符号付き整数、特に負の整数を指定するとどうなりますか?

例:

の結果は-100*sizeof(source)memcpy によって unsigned として解釈されますか?

ありがとう!

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

arrays - memcpy は構造体の大きな配列に対して機能しますか?

動的配列を含む構造があります。これらの構造のうち 2 つを定義しました。

最初の構造体に配列を入力し、次のような行を使用します

memcpy(R->v, A->v, A->n*sizeof(double)

ここで、v は動的に割り当てられた配列で、n はエントリの数です。

それが重要な場合、R と A は同じ型です。

問題は、値が R に適切にコピーされていないことです。これを totalview でデバッグしようとすると、memcpy は「very_huge_loop」という関数に入りますが、例外も何もスローされません。

配列の長さは約 188k 倍です。

ありがとう

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

c - mempcy がすべてのデータのコピーに失敗する

Cのmemcpyで問題が発生しました。コードは次のとおりです。

CPY_IM009_DEF は、他のファイルの構造体です。それから私はこれを試します

サイズを確認すると:

sizeof (メッセージ) = 2140

sizeof (wx_msg_buf) = 8192

しかし、wx_msg_buf を確認すると、memcpy は msg の一部のみを wx_msg_buf (2140 から 200) にコピーします。私が知りたいのは、なぜこれが起こるのか?もっとコードが必要な場合は教えてください

助けてくれてありがとう。

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

c - memcpyを使用してバイトのブロックからバイトを連結するエラー

場合によっては、次のコードが機能します。これは、おそらく良い概念ですが、実行が不十分であることを意味します。これはビットが落ちた場所によってはクラッシュするので、これは私が途中で一歩を踏み出していることを意味します。bufferdataから<=4096バイトで埋めるエレガントな方法を見つけることに興味がありますbufferが、確かに、これはそうではありません。

編集:私が受け取るエラーは、bufferdataへの不正アクセスです

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

floating-point - Luaでバイト配列をfloatに変換する【floatデータ構造】

Lua でメモリを読み取る機能はありますが、問題が発生しました。浮動小数点値を読み取りたい。

私は、フロートであると推定するものを、このように見えるメモリに持っています。

メモリ エディタを使用しているため、float 値はわかっています。Lua には memcpy に似た関数があります。これは readmem(Address,bytes) と呼ばれ、整数値を返します。

readmem を使用して Lua の float にバイト配列を読み込む方法を教えてください。

この質問のために、65 分の 6 はアドレス 00000000 であると仮定してよいと思います。

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

c - 以下の送信バッファに直接書き込むことによるスタックの保存

プロトコルのスタックと、各レイヤーでの送信をきちんとカバーするいくつかの c/cpp コードを持つイメージング。各送信関数は、下のレイヤーを使用して別のヘッダーを追加し、最終的にメッセージ全体がレイヤー 0 の連続グローバル バッファーに配置されるようにします。

データはいくつかのグローバル変数に移動され、実際に転送されます。

このコードでスタックの使用量と memcpy() の数の両方を減らしたいので、次のようなものを想像します。

私の考えは、MAX_MSG_SIZE から継続的に減算し、上位層のコードに最後/右から直接グローバル バッファーを入力させることによって、各層ヘッダーの適切なオフセットと実際のペイロードのオフセットを計算する何かを下部に配置することです。側。

これは理にかなっていますか?代替の、おそらくよりエレガントなアプローチはありますか?

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

c - memcpy がスタックしているようです

サイズが 200K の memcpy を使用しようとしていますが、動かなくなります!!!

destb と source の両方が割り当てられます。

この問題の原因は何ですか?

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

c++ - memcpyは、バイトの先頭にffffffを追加します

私はこのような配列を持っています:

memcpyを使用する場合:

そして、それらの両方を印刷します。

1つは次のように印刷します:

しかし、もう一方は印刷します

どうした?

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

c - MIPS memcpyの問題(私は思う)

私はiccを使用してredhatシステムで作業しているソフトウェアをいくつか持っていますが、正常に動作しています。MIPSで実行されているIRIXシステムにコードを移植すると、値が確実に存在するはずのときに「nan」として出力される計算がいくつか得られます。

RedHat以外のシステムには優れたデバッガーがありませんが、配列の一部が散発的に「nan」になっているため、ドット積の計算が「nan」に戻っていることがわかりました。

デバッガーでは追跡できないので、memcpyに問題があるのではないかと考えています。動的に割り当てられた配列を持つMIPSコンパイラmemcpy()関数に問題はありますか?私は基本的に使用しています

そして、私はそれを本当に証明することはできませんが、これが問題かもしれないと思います。いくつかの回避策はありますか?おそらく、smeデータがずれていますか?どうすれば修正できますか?

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

c - C memcpy エラー - Windows XP でメモリに書き込めませんでした

ファイルを1行ずつ1つの文字列にロードし、次にこのコードを使用してmemcpyのこの文字列を別の文字列ポインターにロードするCプログラムがあります。

しかし、Windows XP SP3 マシンで上記のプログラムを実行すると、次のようなエラー メッセージ ボックスが表示されます。

"<メモリ アドレス>" の命令が "<メモリ アドレス>" のメモリを参照しました。メモリに「書き込み」できませんでした。[OK] をクリックして終了します....

同様の問題が発生している同様のメモリ操作を実行しようとしたときに、同様の問題に直面しました。strcpy は私にとって最適に機能しますが、strcpy は行の NUL 文字まで読み取りを省略しますが、行の NUL の後でも読み取られる文字がいくつかあります。誰でもこれに対する回避策または解決策を提供してください。

環境: Windows XP SP3、GCC コンパイラ。

同様のコードのコンパイルと使用をsolaris unixで試してみましたが、同じ問題に直面しています。

OpenCV Python、C サンプルの一部でも同様のエラーに直面しています。

編集: 申し訳ありません.. p = inmodptr->Body;inmodptr で初期化されたポインタ p は構造体です。ポインターの初期化が問題ではないことを確認できます。明確にするために完全なコードを投稿