memory-layout

    -1

    1答えて

    私は今、可能な場合、そして最終的にどのようにしてクラスを特別な方法で実装して、そのクラスのベクトルを作成し、それを埋め込んだ後でクラスの属性はベクトルを反復することなくアトリビュートされます。 これは一例です: class Vertex3f { public: union { float vec[3]; struct {

    11

    2答えて

    私の教授は、プログラムがメモリ上でどのように見えるのか混乱しています。私の教授は、スタックとヒープは、スタックがより低いメモリアドレスになるようにお互いに向かって成長すると言いました。 最初に私が気になったのは、ヒープが高から低になった場合、ヒープ上に配列を割り当てた場合、2番目の要素へのポインタは、最初の要素?これは、私は少し研究を行なったし、データと未初期化されたデータは、テキストの後に来るの

    4

    2答えて

    すばやく簡単な質問:std::bitsetはメモリに連続していることが保証されていますか? 私はそれがCopyConstructibleとCopyAssignableコンセプトに従っていることは知っていますが、std::vectorのようなContiguousContainer(またはそのようなもの)ですか? 別にパディングから、私はこのような構造にビット演算をしたいのですが: struct tm

    0

    2答えて

    私は古い静的ライブラリ(クラス実装)を持っていますが、クラス内の仮想関数以外の仮想関数をライブラリに再コンパイルする必要がありますか?

    5

    1答えて

    ポインタと同じサイズと位置合わせを持つ整数型はありますか? std::intptr_tとstd::uintptr_tがありますが、ポインタ自体と同じアライメントがないと思います。

    6

    2答えて

    私は、クラスのメモリレイアウトをテンプレート化されたコードでより効果的にするための可能な方法について疑問を抱いていました。私が知る限り、Standardはクラスのデータメンバーが宣言の順番でメモリに配置されるように指示します。クラスのサイズに不必要に追加するデータメンバーを整列させるために、コンパイラーによってパディングが行われる可能性があります。このようなパディングを最小限に抑えるために、データ

    3

    1答えて

    Linuxのプログラムのメモリレイアウトについていくつか質問があります。私は様々な情報源から知っています(私は「プログラミングを地上から」を読んでいます)、各セクションはそれ自身のメモリ領域にロードされています。テキストセクションは仮想アドレス0x8048000で最初にロードされ、データセクションはその直後にロードされ、次にbssセクションが続き、ヒープとスタックが続きます。 レイアウトを試してみ

    3

    2答えて

    管理対象でないPInvokeのシナリオでSystem.Numerics.Complexを使用します。 ILSpyを使用して、LayoutKind.Sequential属性が割り当てられていないことに気付きました。 /// <summary>Represents a complex number.</summary> [Serializable] public struct Complex :

    2

    1答えて

    これは以前の多くの質問と似ていますが、回答を見つけることができなかったことを尋ねます。 BASE2の派生の具体的 #include <iostream> using namespace std; class Base1 { public: int b1_data; virtual void b1_fn() {cout << "I am b1\n";} };

    9

    2答えて

    私はC#でパーサーコンビネータを最適化することを試しています。シリアル化されたフォーマットがメモリ内のフォーマットと一致する場合、可能な最適化の1つは、インスタンス上または解析されるべきデータの(安全でない)memcpyだけをインスタンス化することです。 最適化を適用できるかどうかを動的に判断するために、メモリ内の形式がシリアル化された形式と一致するかどうかを判断するコードを記述します。 (明らか