C を使用してクロス プラットフォーム ライブラリを作成しています。libc メモリ管理関数を直接使用している次のようなコードがあります。
myObject* myObjectCreate(void)
{
...
myObject *pObject = (myObject*)malloc(sizeof(*pObject));
...
}
void myObjectDestroy(myObject *pObject)
{
...
free(pObject);
...
}
これらのメモリ管理機能は、特にローエンドのマイクロコントローラーに基づく組み込みシステムでは常に利用できるとは限らないことを理解しています。残念ながら、私のライブラリはこれらのシステムでコンパイル可能である必要があります。
この問題を回避するには、これらの関数をライブラリ クライアントでカスタマイズできるようにする必要があると思います。
それで、これを達成するための推奨される方法は何ですか?