メインページ | アルファベット順一覧 | データ構造 | ファイル一覧 | データフィールド | グローバル | 関連ページ

# memory.h

説明を見る。

    00001
    00027 #ifndef DKUTIL_CSTD_MEMORY_H
    00028 #define DKUTIL_CSTD_MEMORY_H
    00029
    00030 #include "os.h"
    00031 #include "cpu.h"
    00032 #include "x86_optimized_memcpy.h"
    00033
    00034
    00035 //メモリalign関数
    00036
    00037 typedef struct dkcstd_aligned_memory_result{
    00038     void *mem;
    00039     size_t offset_from_original;
    00040     size_t access_permit_from_mem;
    00041 }DKCSTD_ALIGNED_MEM;
    00042
    00043 DKC_EXTERN void dkcstd_get_memory_align(DKCSTD_ALIGNED_MEM *r,const void *src,size_t srcsize,size_t align_offset);
    00044
    00045 DKC_EXTERN void *dkcstd_pointer_align( const void *src,size_t align_offset);
    00046 DKC_EXTERN size_t dkcstd_offset_align(const void *src,size_t align_offset);
    00047
    00048 DKC_EXTERN BOOL dkcstd_check_align(const void *src,size_t bytes);
    00049
    00050 //memcpy郡
    00051
    00053 DKC_EXTERN void *dkcstd_memcpy( void *dest, const void *src, size_t count );
    00055 DKC_EXTERN void *dkcstd_memcpy8( void *dest, const void *src, size_t count );
    00057 DKC_EXTERN void *dkcstd_memcpy32( void *dest, const void *src, size_t count );
    00059 DKC_EXTERN void *dkcstd_memcpy64( void *dest, const void *src, size_t count );
    00061 DKC_EXTERN void *dkcstd_memcpy64f( void *dest, const void *src, size_t count );
    00062
    00063
    00064 #if 1==DKUTIL_CSTD_MSVC_IASM
    00065
    00066 DKC_EXTERN void *dkcstd_memcpy_rep_movsd( void *dest, const void *src, size_t count );
    00067 DKC_EXTERN void *dkcstd_memcpy_FPU64( void *dest, const void *src, size_t count );
    00068
    00069 DKC_EXTERN void *dkcstd_memcpy_asm64( void *dest, const void *src, size_t count );
    00070 DKC_EXTERN void *dkcstd_memcpy_asm32( void *dest, const void *src, size_t count );
    00071
    00072
    00073 DKC_EXTERN void *dkcstd_memcpy_movntq_mmx_prefetch128( void *dest, const void *src, size_t count );
    00074 DKC_EXTERN void *dkcstd_memcpy_movntq_mmx128( void *dest, const void *src, size_t count );
    00075 DKC_EXTERN void *dkcstd_memcpy_movntq_mmx64( void *dest, const void *src, size_t count );
    00076 DKC_EXTERN void *dkcstd_memcpy_mmx128( void *dest, const void *src, size_t count );
    00077 DKC_EXTERN void *dkcstd_memcpy_mmx64( void *dest, const void *src, size_t count );
    00078
    00079
    00080 DKC_EXTERN void *dkcstd_memcpy_movups_sse_prefetch256( void *dest, const void *src, size_t count );
    00081
    00082
    00083 DKC_EXTERN void *dkcstd_memcpy_movntps_sse_prefetch256( void *dest, const void *src, size_t count );
    00084 DKC_EXTERN void *dkcstd_memcpy_movntps_sse128( void *dest, const void *src, size_t count );
    00085 DKC_EXTERN void *dkcstd_memcpy_sse128( void *dest, const void *src, size_t count );
    00086
    00087 #endif
    00088
    00089
    00090 DKC_EXTERN void *dkcstd_memmove( void *dest, const void *src, size_t count );
    00091
    00092 DKC_EXTERN void *dkcstd_memset( void *dest, int c, size_t count );
    00093
    00094 DKC_EXTERN int dkcstd_memcmp( const void *buf1, const void *buf2, size_t count );
    00095
    00096 DKC_EXTERN void *dkcstd_memchr( const void *buf, int c, size_t count );
    00097
    00098 #endif //end of include once
    00099