問題タブ [memset]

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

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

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

0 投票する
16 に答える
71209 参照

c# - C#のmemsetに相当するものは何ですか?

ゼロ以外のbyte[]値を 1 つ入力する必要があります。配列内のそれぞれをループせずに C# でこれを行うにはどうすればよいですか?byte

更新:コメントはこれを2つの質問に分割したようです-

  1. に似ている可能性のあるbyte []を埋めるフレームワークメソッドはありますかmemset
  2. 非常に大きな配列を扱う場合、最も効率的な方法は何ですか?

エリックと他の人が指摘したように、単純なループを使用しても問題なく機能することに完全に同意します。質問のポイントは、C# について何か新しいことを学ぶことができるかどうかを確認することでした:) 並列操作に対するジュリエットの方法は、単純なループよりもさらに高速である必要があると思います。

ベンチマーク: Mikael Svenson に感謝: http://techmikael.blogspot.com/2009/12/filling-array-with-default-value.html

for安全でないコードを使用したくない場合を除き、単純なループが適していることがわかりました。

元の投稿で明確になっていないことをお詫びします。Eric と Mark のコメントはどちらも正しいです。確かに、より焦点を絞った質問が必要です。みんなの提案と応答に感謝します。

0 投票する
11 に答える
35334 参照

c++ - C++ プログラマーは memset を避けるべきですか?

C++ プログラマーは memset を避けるべきだということわざを聞いたことがありますが、

上記のコードを考えると、memset を使用しない場合、[1..1024] をゼロで埋めるにはどうすればよいでしょうか?C++ の memset の何が問題なのですか?

ありがとう。

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

c++ - char* の memset に相当する C++

私はこのコードを持っています

memcpy と memset を使用することはできないことは理解していますが、これを C++ で、できれば std なしで使用する方法を正確に理解していません。

誰か知っていますか?ありがとうございました。

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

c - cでJavaのような「コンストラクタ」を指定できますか?

Cでハッシュテーブルを「構築」したい(読み:mallocとmemset)。これを行うために、次のような関数を作成しました。

テーブルが次のように宣言されていることを考えると

このコードを入力する前に、maketable から戻ったときに何も失うことはありませんよね?

編集:指しているデータを変更する限り、変更が保持されることを保証しtableますか?maketable()table

編集 II: hash_entries へのポインターへのポインターの配列を割り当てようとしています

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

c++ - ユーザー定義クラスのインスタンスが作成され、ファイルが開かれた後の memset の問題

memset で奇妙な問題が発生しています。これは、その前に作成しているクラスと、コンストラクターで開いているファイルに関係していました。私が扱っているクラスは通常、配列を読み取り、それを別の配列に変換しますが、それは重要ではありません。私が取り組んでいるクラスは次のとおりです。

他の関数は重要ではありません。なぜなら、私はそれらを呼び出すのをやめ、問題が解決しないからです。基本的に、コンストラクターに絞り込みました。

コンストラクターでファイルも読み取りましたが、マトリックスを読み取らずにファイルを開くだけで問題が解決しないことがわかりました。基本的に、memset が適切に機能するこれらの 2 行をコメントアウトすると、それ以外の場合は機能しなくなります。

ここで、私が抱えている問題のコンテキストに移ります。マトリックス用の独自の単純なラッパー クラスを作成しました。機能はあまりありません。プロジェクトの次の部分で 2D 配列が必要なだけで、クラスですべてを処理する方が理にかなっています。

ヘッダー ファイル:

運転者:

私のメインプログラムは次のように実行されます:

入力行のコメントを外してこれを実行すると、次のようになります。

memset を次のように置き換えた場合の補足として、これを引き起こすためにメモリ内で何が起こっているのか本当にわかりません。

その後、完全に機能します。ファイルを開かない場合も機能します。それが役立つ場合、UbuntuでGCC 64ビットバージョン4.2.4を実行しています.memsetのいくつかの機能が正しく理解されていないと思います。

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

c++ - Memset の例外

memset を実行しようとすると、次の例外が発生します

「SendOutDllTestExe.exe の 0x1023af7d (PxSmartInterface.dll) で未処理の例外: 0xC0000005: アクセス違反の書き込み場所 0x40e3a80e.」

私の memset ステートメントは次のようになります

memset(lpStatus, 0, csStatus.GetLength());

0 投票する
12 に答える
131443 参照

c - Cで2次元配列をゼロにする最速の方法は?

Cで大きな2次元配列を繰り返しゼロにしたい.これが私が現在行っていることです:

memset を使用してみました:

ただし、これは 1D 配列に対してのみ機能します。2D 配列の内容を出力すると、最初の行はゼロになりますが、ランダムな大きな数値がロードされてクラッシュします。

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

c++ - C++ のメモリ割り当てとリンク リストの実装

「最初に適合する」メモリ割り当てスキーマをシミュレートするソフトウェアを作成しています。

基本的に、私は大きな X メガバイトのメモリ チャンクを割り当て、スキーマに従ってチャンクが要求されたときにそれをブロックに分割します。

「ノード」と呼ばれるリンクされたリストをメモリの各ブロックのヘッダーとして使用しています (これにより、すべてのアドレス値を退屈にループすることなく次のブロックを見つけることができます.

`

しかし、この最後の行は以下を返します:

これが無効である理由は理解できますが、新しく割り当てられたメモリのポインタ位置にノードを配置するにはどうすればよいですか?

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

c++ - MemSet & MemCopy

メモリ アロケータを作成していますが、メモリのチャンク内に整数を格納する方法が必要です。この整数はブロックのサイズを表すため、先頭へのポインターを指定して末尾に移動できます。

これが私のテスト例です:

// 編集: testInt int* testInt = new int の宣言されたスペース。

これにより、最後から 2 番目の行でセグメンテーション違反がスローされます。

私がやろうとしていることは理にかなっていますか?

もしそうなら、正しいアプローチは何ですか?

お世話になりました皆様、本当にありがとうございました!! 問題が解決しました :-)