問題タブ [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 投票する
3 に答える
15103 参照

python - list(...).insert(...) のパフォーマンス

コンピュータのアーキテクチャについて、次の質問について考えました。Pythonで行うとします

log n加えて、私が正しく理解していれば、 のメモリコピー操作が必要x[index:]です。最近、ボトルネックは通常、プロセッサとメモリ間の通信にあるため、メモリのコピーはRAMによって非常に高速に実行できることを最近読みました。それはどのように機能しますか?

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

c++ - movsd を使用してコンパイラに文字をコピーさせる

タイム クリティカルな関数で、比較的短いメモリ シーケンス (1 KB 未満、通常は 2 ~ 200 バイト) をコピーしたいと考えています。CPU側でこれに最適なコードはrep movsd. ただし、コンパイラにこのコードを生成させることはできません。memcpy を使用すると、コンパイラの組み込み組み込み関数を使用してこれが行われることを望んでいましたが (漠然とそうしていたのを覚えています)、逆アセンブリとデバッグに基づいて、コンパイラは代わりに memcpy/memmove ライブラリ実装への呼び出しを使用しているようです。また、コンパイラが次のループを認識して単独で使用できるほどスマートであることを願っていましrep movsdたが、そうではないようです。

rep movsdインライン アセンブリを使用する以外に、Visual Studio コンパイラでシーケンスを生成する方法はありますか?

0 投票する
9 に答える
95418 参照

c - memmove と memcpy の違いは何ですか?

memmoveとはどう違いmemcpyますか?普段どちらをどのように使用していますか?

0 投票する
8 に答える
14030 参照

c++ - 最適化された memcpy

C++ で memcpy() のより高速な代替手段はありますか?

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

c++ - C++ バイト ストリーム

ネットワーク化されたアプリケーションの場合、動的データを送信する方法は、構造体を (void*) に memcpy することです。これは、std::string に対して行われた場合のように、いくつかの問題を引き起こします。文字列は動的な長さにすることができます。私が持っていたアイデアは、Java の DataOuputStream に似たものを使用することでした。そこでは、任意の変数をそれに渡すことができ、それを (void*) に入れることができました。これができない場合は、クールです。私は構造体をmemcpyするのが本当に好きではありません。それについて何かが完全に正しくないようです。

ありがとう、
ロビー

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

c - Cの文字配列に1を追加するとどうなりますか?

私は学習目的でいくつかのコードを調べています。私はコードのこの部分を処理しています。

memcpyが呼び出される最後の行で、buf + 1は何をしますか?bufは文字配列なので、+ 1はそれに何をしますか?

0 投票する
7 に答える
34801 参照

c - C プログラミング。構造体をディープコピーするには?

「子構造体」が要素として「rusage構造体」を持つ次の2つの構造体があります。

次に、タイプ「子」の 2 つの構造体を作成します。それらを childA と childB と呼びましょう。

rusage 構造体だけを childA から childB にコピーするにはどうすればよいですか?

私は次のようにしましたが、childA で使用法の値を変更すると、childB でも変更されるため、メモリの場所をコピーしていると思います。

私はそれがchildAからのすべての値をchildBに与えることを知っています。childB の他のフィールドは既に処理済みです。必要なのは、「子」構造体にある使用法と呼ばれる rusage 構造体をコピーできることだけです。

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

c - Cのmemsetとmemcpyの違いは何ですか?

関数ヘッダーを読みましたが、ユースケースに関して正確な違いが何であるかはまだわかりません。

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

c++ - memcpy が単純なオブジェクトのローカル配列メンバーへのコピーに失敗するのはなぜですか?

関数の引数として C 配列を使用する従来の memcpy の落とし穴。以下で指摘したように、コードにエラーがありますが、エラーのあるコードはローカル コンテキストで機能しました。

オブジェクトを使用して Macintosh の画像オペコードの再生をエミュレートしている移植作業で、この奇妙な動作に遭遇しました。私の DrawString オブジェクトは、明らかに文字列引数のコピーに失敗したため、再生時にガベージを描画していました。以下は私が書いたテストケースです - 手動コピーループがどのように機能するかに注意してください。しかし、memcpy は失敗します。Visual Studio デバッガーでトレースすると、memcpy が宛先をガベージで上書きすることが示されます。

2 つのローカル Str255 配列の Memcpy は正常に動作します。

それらの 1 つがスタック上のオブジェクトのメンバーである場合、失敗します (他のテストでは、オブジェクトがヒープ上にある場合にも失敗します)。

次のサンプル コードは、memcpy が operator= で呼び出されることを示しています。コンストラクターで失敗した後、そこに移動しましたが、違いはありませんでした。