スケーラブル・アロケーターの C インターフェイス

概要

スケーラブルなメモリー割り当て用の低水準インターフェイス。

構文

        extern "C" {
            // C メモリー・アロケーターのスケーラブル・バージョン
            void* scalable_malloc( size_t size );
            void  scalable_free( void* ptr );
            void* scalable_calloc( size_t nobj, size_t size );
            void* scalable_realloc( void* ptr, size_t size );
         
            // _msize/malloc_size/malloc_usable_size のスケーラブル・バージョン
            size_t scalable_msize( void* ptr );
         
            // posix_memalign のスケーラブル・バージョン
            int scalable_posix_memalign( void** memptr, size_t alignment, 
                                         size_t size );
         
            // アラインして割り当て
            void* scalable_aligned_malloc( size_t size, 
                                           size_t alignment);
            void scalable_aligned_free( void* ptr ); 
            void* scalable_aligned_realloc( void* ptr, size_t size, 
                                            size_t alignment );
        }

ヘッダー

#include "tbb/scalable_allocator.h"

説明

これらの関数は、スケーラブル・アロケーターに C 水準のインターフェイスを提供します。 scalable_x ルーチンはそれぞれ、x ライブラリー関数に似た動作を行います。 下記の表に示されているように、ルーチンには 2 つのファミリーがあります。 あるファミリーの scalable_x 関数で割り当てた記憶領域は、C 標準ライブラリー関数ではなく、同じファミリーの scalable_x 関数で解放またはサイズ変更してください。 同様に、C 標準ライブラリー関数で割り当てた記憶領域は、scalable_x 関数で解放またはサイズ変更しないでください。

スケーラブル・アロケーターの C インターフェイス

ファミリー

割り当てルーチン

割り当て解除ルーチン

類似ライブラリー

1

scalable_malloc

scalable_free

C 標準ライブラリー

scalable_calloc

scalable_realloc

scalable_posix_memalign

POSIX*

2

scalable_aligned_malloc

scalable_aligned_free

Microsoft* C ランタイム・ライブラリー関数

scalable_aligned_free

scalable_aligned_realloc

size_t scalable_msize( void* ptr )

戻り値

ptr がスケーラブル・アロケーターで割り当てたメモリーブロックを指している場合は、メモリーブロックの使用可能なサイズ。 ptr がそのようなブロックを指していない場合は 0。