メモリアロケータを初期化し、_length
バイトの一部を利用可能にするinit_allocator()
関数を実装しようとしています。アロケータは、割り当ての最小単位として_basic_block_size
を使用します。この関数は、アロケータに使用可能なメモリ量を返します。エラーが発生した場合は、0
を返します。Cでメモリアロケータを初期化
これは私がこれまで持っているものです。
int memAvail; // amount of memory to be made available to allocator
unsigned int init_allocator(unsigned int _basic_block_size, unsigned int _length){
if (_basic_block_size < _ length){
memAvail = _length/_basic_block_size;
return memAvail;
}
else{
return 0;
}
}
これは正しい実装である場合、私は知らないが、それは私に権利思えます。私が間違っていることはありますか?私はポインタを利用するはずですか?アドバイスをいただければ幸いです。これはchar型のアロケータであることから
要件は不明ですが、ほとんどのメモリサブアロケータはそれ以上の機能を備えています。たとえば、OS APIを呼び出して、管理するために大きなメモリブロックを確保する必要があります。 –
私は些細なメモリアロケータを実装するはずです。私はOS AP1が何を意味するのかよく分からない – carl123