custom_memory_allocator

custom_memory_allocator サンプル

概要

Diarkis C++ ランタイム内で行われるメモリの確保・開放処理をユーザーが実装したアロケータを使用するように変更することができます。 本サンプルではカスタムアロケータの実装と設定方法について紹介します。

ローカル環境でサーバーを起動する

サンプルで使用するサーバーを起動するためのチュートリアルを実施して、ローカル環境で Diarkis サーバーを起動します。

Diarkis サーバをローカルで起動する

サンプルの引数

サンプルの起動時には以下の3つのパラメータを指定してください。

引数
説明

serverAddr

Diarkis サーバのエンドポイントを指定してください

UID

接続するユーザーの ID を任意の文字列で指定してください

clientKey

クライアントキーを任意の文字列で指定してください

起動例:

custom_memory_allocator.exe 192.168.1.123:7000 1111 AAAA

起動方法

本サンプルは単体で実行することができ、起動すると指定された Diarkis サーバに接続し切断します。

サンプルコード説明

カスタムアロケータの実装方法と設定方法に分けて紹介します。 また、本サンプルでは基礎的な Diarkis サーバへの接続方法等は説明していません。必要に応じて room_broadcast 等の基礎的なサンプルを参照してください。

カスタムアロケータの実装方法

カスタムアロケータは ICustomAllocator を継承して実装します。

ICustomAllocator には以下のインターフェイスが存在し、それらをアプリ側の都合に合わせて実装します。本サンプルでは単純に malloc/free でメモリの確保と開放を行っています。

カスタムアロケータの設定方法

実装したカスタムアロケータのインスタンスを用意し、SetCustomAllocator で Diarkis C++ ランタイムへ設定します。異なるアロケータが混在して使用されないように必ずすべての Diarkis 関連の API 呼び出しよりも前に設定するようにしてください。

最終更新

役に立ちましたか?