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

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 

dkutil_cstdに対してSat Sep 10 09:19:18 2005に生成されました。  doxygen 1.4.4