問題タブ [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.
c - C - 静的に割り当てられた char 配列の memset segfault
静的に割り当てられた文字の配列を使用しようとすると、segfault が発生しますが、memset
を使用して割り当てられた同じ長さの配列では発生しませんmalloc
。
変数の定義:
関数呼び出し:
関数内で使用します。
私の問題は、関数呼び出しの違い、またはより正確には、「char** != char (*) [n]」状況の不完全な理解にあると思われます。しかし、私はあまりにも長い間これを叩いていて、木から森を見ることができないので、ヒントやアドバイスをいただければ幸いです.
c++ - memset は、指定した値の代わりに -1 を配列に入れています。何が起こっているのですか?
配列を出力すると、すべて -1 の配列が得られます。int 'test' を出力すると、正しい値 '1073741823' が得られます
memset を使用するために「cstring」を含めています。私がフォローしているドキュメントは次のとおりです 。 http://www.cplusplus.com/reference/clibrary/cstring/memset/
この結果が得られるのはなぜですか? それは明らかなことかもしれませんが、私には見えません。
c - 構造体 c 内の memset 配列
構造内に存在する int の配列を memset しようとしています:
memset() で多くのバリエーションを試しましたが、役に立ちませんでした。数値は 1 に初期化されるのではなく、巨大な値です。
c - ポインタオフセットがmemsetで機能しませんか?
プレーンC、Windows7およびHPマシン。
整数の3番目のバイトを0x0に設定したいのですが、同じままです。何か案は?ありがとうございました。
私のマシンでは、intは32ビットです。
benchmarking - C ライブラリの文字列とメモリ関数をベンチマークするコードを探しています
C lib メモリと memcpy、memset、strcpy、strcmp などの文字列関数のベンチマークに使用できる既存のコードを探しています。独自のコードを書いているようですか、それとも使用したものについて言及していませんか?
memset と memcpy をテストする cachebench があります。そのようなテストを備えた他の一般的なベンチマークスイートがあるのだろうか? ここで車輪を再発明したくありません。ありがとう。
c - memsetとint値を使用して整数配列を初期化する-失敗
CUDAプログラムのホストコードを書いているので、標準のC関数を使用していません。memset
関数を使用して整数配列の要素を初期化する際に問題が発生しました。memset
たとえば、整数配列を次のように4つすべてに初期化するために使用できるという印象を受けました。
しかし、これを行うと、各バイトではなく、各バイトint
が4に設定されます。
私は最初の整数で4を取得し、次のように言います。
最初の整数で1024、2番目の整数で0を取得します。関数が3番目のパラメーターで指定されたバイト数を4に設定することは理解していmemset
ますが、memsetを使用して各整数を各バイトではなく4に設定する方法はありますか?それ以外の場合、forループを使用してスタックしていますか?私のGPUは計算能力が低いので、より多くのC++を使用できる優れたCUDA追加機能にアクセスできません。
c - memsetを使用して配列を設定する
私はまだCの初心者ですが、memset機能に問題があります。
char *を関数に渡し、この関数内で配列を作成してから、memsetを使用して各値を設定します。私はdbxを使用して、この変数が関数に入るのを監視してきましたが、memsetを渡すと、何らかの理由で「」に設定されます。
まず、なぜこれが起こるのですか?memsetがchar*が配置されているメモリをリセットしている必要があると思いますか?
次に、各要素を「0」に設定するためのより良い方法はありますか?
これが私のコードです:
c++ - テンプレートクラスコンストラクターでmemsetがmemをリークする
このクラス ctor はメモリ リークを起こしています。何が起こっているのかわかりません。どのように私は知っていますか?ctor の 2 行目をコメントアウトすると、リークはなくなります。
単純なことかもしれませんが、私は無知です..
- 編集して答える - PermanentGuestが言ったように:いいえ。基本型には問題はありません。ただし、Resource_Descriptor の型 T に memset によってコンストラクター (文字列など) にメモリを割り当てる実装がある場合、そのクラスの内部ポインターを NULL にリセットすることになり、そのデストラクタがメモリを削除する機会を拒否します。– PermanentGuest
std::string が問題で、解決しました。
c - Cでのmemset関数の複雑さ
私は何人かの友人とコードの一部について話し合っていました。Cでmemset関数を使用することについて話し合いました。これは、サイズNの配列を初期化する場合のこの関数のBig-O表記の順序です。