私が取っているクラスでは、割り当てユーティリティを開発する必要があります。割り当てられたアドレスで構造をインスタンス化する(割り当て割り当て)
安全性とは別に、私は遠くのポインタを使っていくつかの構造体に対してアドレスを受け取り、割り当てます。私はこの割り当てで "memalloc"を使用することも許可されていません。
memlocを使用せずにリンクされた構造を作成する方法については、Linked Lists in C without malloc を参照してください。しかし、私はどのように私は特定のアドレスに新しいインスタンスを割り当てることができるかを知る必要があります。たとえば、アドレス0x5000への開始ポインタがある場合、次の構造体を256バイト先に(アドレスの点で)開始するために、増分オフセット(たとえば256としましょう)を使用できるようにリストを作成したいと思います。私の出発点。
この割り当ては、セグメント化とx86アーキテクチャに精通していることに基づいています。
ご協力いただきましてありがとうございます。
お返事ありがとうございました。 私は何かを明確にする必要があります。私は作成しているもの以外に割り当てユーティリティを使用することはできません。したがって、新しい、削除、無料、等... 私はもっとできるように探しているポインタを作成し、いくつかのアドレスをポイントし、私のポインタによって参照先のポイントアドレスで変数とデータ構造を作成します。 – MHZ
私はさらにこのことを質問に従えます。 住所をデフェンスしてデータ型としてキャストすることは可能ですか? – MHZ
@ user580887-プレースメントnewはメモリ割り当て手法ではありません。それはあなたが説明したことだけを行います。メモリのどこかを指すことができる場合は、新しい場所を使用してその場所にオブジェクトを構築できます。スペースを確保するために標準のフリー・アロケータを呼び出すのではなく、十分なスペースがあることを完全に信頼します。 – templatetypedef