memory-alignment

    3

    3答えて

    Visual C++では、プロジェクトのプロパティページで構造体のメンバーalignemntを選択します。問題は、この構成はプロジェクト内のすべてのsrtructで使用されていることです。 特定の構造体のメンバのアライメントを個別に設定する方法はありますか(VC++固有、私は推測します)?あなたは、アライメントがあなたのニーズにフィットするまで だから、様々な分野の間でいくつかのダミーバイトを追加

    6

    4答えて

    私はタイプTのオブジェクトの基本的なメモリとして使用されている配列を持っている: char memory[sizeof T]; . . . new(memory) T(whatever); にはどうすればmemoryがTオブジェクトに対して正しく整列されていることを確認することができますか? C++ 0xでは、私はちょうど言うことができる: alignas(T) char memory

    3

    3答えて

    このコードはうまくいくようですが、InterlockedIncrement関数を正しく使用しましたか? m_countの正しいメモリアラインメントが私の主な関心事です。私たちがx86-64システムを使い、64ビットアプリケーションをコンパイルするとします(問題の場合)。ちなみに私の実際の目的では、m_countを揮発性の長いものとして宣言することはできず、次にInterlockedIncremen

    6

    5答えて

    バイナリプロトコル(Javad GRILプロトコル)用のデコーダを作成しています。それは、次の形式のデータと、百に関するメッセージから構成されています struct MsgData { uint8_t num; float x, y, z; uint8_t elevation; ... }; フィールドが隙間なく互いに従うANSI-エンコードされたバイ

    3

    2答えて

    私は、SQLクエリを受け取り、それを実行し、結果セットのすべての列を行ごとのバインディングを使用してSQL_C_WCHARとしてバインドするクラスを持っています。 今Iのやり方は、それが文字のベクトルを割り当て、そして次のようにSQLBindColumnを与えるためにポインタを決定することである:カラム1 = & VECため バッファの[0] バッファカラムの長さインジケータ1 = & VEC [

    1

    1答えて

    処理されたデータ構造の64バイトアライメントを必要とするスレッド化されたCコードがあります。このアライメントはgcc __builtin_prefetchのようなプリフェッチ命令とどのように相互作用しますか?プリフェッチの効果は、配列されていない配列を使用する場合と同じであるかどうか 私はmemalignを使用して配列を取得しています。 ありがとうございました。

    4

    3答えて

    私は、バイトコードインタープリタのバイトコードを実装するすべてのコードを含むC関数を持っています。 バイトコードの値からジャンプするアドレスを直接計算できるように、コンパイルされたコードのセグメントをメモリに固定サイズの境界に揃える方法があるのでしょうか?並べ替えと同じように配列が動作しますが、計算されたアドレスから読み込む代わりに、私はそれにジャンプします。 私は、すべての「バイトコードコード」

    2

    3答えて

    gccの定義済み変数のアライメントを明示的に無効にするにはどうすればよいですか? は、このコードを取る: typedef struct{ unsigned long long offset; unsigned long long size; unsigned long type; unsigned long acpi; }memstruct; mems

    3

    2答えて

    このタイプのオブジェクトをスタックに作成すると、このオブジェクトのメモリが正しくアライメントされるという保証はありますか? union my_union { int value; char bytes[4]; }; charバイト[4]をスタックに作成して整数にキャストしようとすると、整列の問題が発生する可能性があります。その問題をヒープで作成することで回避できますが、