memory-alignment

    9

    7答えて

    gccまたはclang(または他のコンパイラ)に構造体に穴(メモリアラインメント - ワイズ)があるかどうかについての情報を吐き出す方法はありますか? ありがとうございます。 ps:別の方法がある場合は、お知らせください。

    5

    2答えて

    MSDNによると、/Zpコマンドのデフォルトは8で、64ビットの境界線の境界が使用されます。私はいつも32ビットアプリケーションでは、MSVCコンパイラは32ビット境界を使用すると仮定してきました。そのような struct Test { char foo; int bar; }; コンパイラの意志パッド、それは:たとえば/Zp8がデフォルトで使用されているので stru

    9

    3答えて

    私は、C++でのメモリアライメント、典型的なアプローチ、コンパイラ間の違い、よくある落とし穴に関する良い(包括的な)ドキュメントを探しています。トピックの理解が正しいかどうかを確認し、新しいことを学ぶだけです。この質問は、私は構文次使用される別の質問に対する私の答えに触発され : char const buf[1000] = ...; unsigned int i = *reinterpret_

    5

    4答えて

    私はARM cortex M3の内部フラッシュに保存したいコンフィギュレーション構造を持っています。 仕様によると、内部フラッシュのデータ保存は32ビットに合わせる必要があります。 私はたくさんの論理値と構造体の文字を持っているので、私は8ビットを格納するために32ビットを使用したくありません... __packedプリプロセッサプラグマを使用して構造体をパックすることにしました。構造体のサイズが

    1

    1答えて

    printf関数(cl_intel_printfの拡張子)を呼び出すと、同じ値のdouble(8バイト整列)の変数が複数回出力されていることに気付きました。それらのうちの1つは正しいものであり、他の1つは偽である(4バイト離れている)。 c/C++のように、整列されたデータ型は値によって渡されるのではなく、ポインタ(またはc++の参照)によってのみ渡されるべきであることを意味しますか? (より一般

    4

    2答えて

    Objective-C Runtime provides the class_addIvar C function: BOOL class_addIvar(Class cls, const char *name, size_t size, uint8_t alignment, const char *types) 私はsizeとalignmentのために何を入れますか? タイ

    0

    2答えて

    整列サイズ配列と非整列サイズ配列で動作しようとしましたが、結果がパズルで、非整列サイズ配列は整列サイズのアレイよりも速く、これは私のコードである: TimeMeter timeMeter; const int N = 100000; _Tp A[64]; _Tp B[65]; int szA = sizeof(A); int szB = sizeof(B); // Method

    2

    1答えて

    structは、常にその構造体の最大整列メンバーと同じに整列されていますか?そうでない場合は、gcc固有の拡張機能を使用して、これを自動的にどのように強制することができますか? (私は__attribute((aligned(...)))__があると知っていますが、アラインメントは明示的に指定しなければなりません)。 この動作はc99、C++ 99、およびC++ 11では異なりますか? C++ 1

    5

    2答えて

    、私は私のコードでは、この typedef struct _Pixel { signed char r; signed char g; signed char b; } Pixel; のように見える構造体を持って、私はのcallocでこれらの配列を割り当てる: Pixel* buff = calloc(width * height, sizeof(Pixel))

    0

    1答えて

    "(アップル社に基づいて、5658をビルド)gccのバージョン4.2.1(LLVMは、2335.15.00を構築する)"、私はこれを参照してください。「gccのバージョン4.5.2(で一方 value_type _M_instance[_Nm ? _Nm : 1] __attribute__((__aligned__)); を整列としてTR1アレイはもはや)彼らのために書かれたSSEコードに影