memory-alignment

    1

    1答えて

    JNAライブラリ(* .dll Javaラッパー)内のすべてのデータ構造に対してグローバルメモリバイトアライメントを設定する方法はありますか? 実装時に試行錯誤して正しいアライメントを決定する必要がある場合がありますが、現在、私は非常にやっかいな方法でこれをやっています - データアライメント(スーパー(ALIGN_NONE))を各構造構造を別々のファイルに保存)。 編集:私の問題を解決するための

    7

    2答えて

    私はstd::alignment_ofタイプの形質とすぐに出会う友人std::alignment_of_vを見つけました。彼らは具体的にはalignofの平凡な呼び出しに相当するように設計されているように見えます。また、_vヘルパーの将来の追加は、それが単なるレガシービットではないことを示しています。 std::alignment_of(_v)の使用方法は、alignofの場合はどうなりますか?

    3

    1答えて

    共有オブジェクトにコンパイルされたCライブラリがあり、PythonからC関数を呼び出すためのctypesインタフェースを構築したいと考えています。 一般的には、それが正常に動作しますが、Cライブラリ内のdouble配列のこの定義があります: typedef double __attribute__ ((aligned (32))) double_array[512]; 私はこのタイプを直接アク

    9

    2答えて

    C++で学んだのと同じように、両方の構造体のインスタンスのサイズに差が生じるのはパディングだと思います。 type Foo struct { w byte //1 byte x byte //1 byte y uint64 //8 bytes } type Bar struct { x byte //1 byte y uint64 //8 by

    33

    3答えて

    C++ 11では、変数の配置を指定するためにalignas specifierが導入され、型のデフォルトの配置を照会するためにalignof operatorが導入されました。しかし、私は特定の変数のアライメントを得る方法はありません。のは、以下の簡単な例を見てみましょう:ここ alignas(16) float* array; は、我々はそれについて何ができるかです:私たちは何をしたい明らか

    0

    1答えて

    私はGNUアセンブラ用のx64アセンブリをいくつか書いています。 .seh_ *ディレクティブについてはreadに行ってきましたが、私はそれらに関する多くの情報を見つけることはできません。 gas文書では、それらについてはまったく言及していません。 しかし、理解しているように、SEH巻き戻し操作中にコードがスタックに含まれている場合は、これらを使用することが期待されます。私のコードは操作をスタック

    3

    1答えて

    gcc 4.9.2を使用していますが、AVXで使用するために静的に初期化された配列を正しく整列しようとしています。ここに起因するアライメントの問題にセグメンテーションフォルトコードの要旨は次のとおりです。私のシステムで #include <iostream> #include <cstddef> struct B { alignas(32) double x[1] = {0};

    0

    3答えて

    アライメントをチェックするデバッグビルドの下でアサートが発生しました。アサーションは、を使用してuint8x16_tにロードされるバイト配列用です。アサルトが発生する間、我々はSIG_BUSを観察していない。 は、ここでのコードでの使用です: const byte* input = ...; ... assert(IsAlignedOn(input, GetAlignmentOf(uint8

    4

    1答えて

    GCCの問題を回避するのに問題があります。私はGCC 4.8の下でそれを体験していますが、5.1ではありません。報告されているようです(hereおよび/またはhere)。 問題の表面を次のように template <bool B> struct S { static const int ALIGN = 16; __attribute__((aligned(ALIGN)))

    8

    1答えて

    これは、私がC/C++をシステムソフトウェアのいくつかのクラスを書く上で使用する最も重要な理由の1つですが、それはまれにしか起こらないコンパイラの拡張です。 委員会が公式にサポートすることを検討していないのはなぜですか? Does public and private have any influence on the memory layout of an object?