⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 __def_fun_def.c

📁 sourceforge历史版本完整下载: http://sourceforge.net/project/showfiles.php?group_id=202044 提供了基于b树索引算法的文件数据数据
💻 C
字号:
/** * * @file def_fun_def.c 各种回调函数的默认定义 * * @author lin shao chuan (email:lsccsl@tom.com, msn:lsccsl@163.net) * */#include "__def_fun_def.h"#include <string.h>#include "myutility.h"/** * * @brief 描述如何将src里的数据拷贝给dst * * @param context:用户自定义的上下文数据 * */int __def_alg_copy_(void * dst,					const void * src, const size_t size_copy,					const void * context){	memcpy(dst, src, size_copy);	MY_UNUSED_ARG(context);	return 0;}/** * * @brief 描述如何将src起始的一段数据拷贝给dst起始的一段空间 * * @param context:用户自定义的上下文数据 * */int __def_alg_move_(void * dst,					const void * src, const size_t size_move,					const void * context){	memmove(dst, src, size_move);	MY_UNUSED_ARG(context);	return 0;}/** * * @brief 描述如何将data1与data2的数据互换 * * @param context:用户自定义的上下文数据 * */int __def_alg_swap_(void * data1,					void * data2, const size_t data_size,					const void * context){#define SWAP(x, y) do{\		x = x ^ y;\		y = x ^ y;\		x = x ^ y;\}while(0)	size_t i = 0;	size_t loop = data_size / 4;	size_t arith_compliment = data_size % 4;	MY_UNUSED_ARG(context);	for(i = 0; i < loop; i ++)	{		SWAP(*((unsigned int *)data1 + i), *((unsigned int *)data2 + i));	}	if(3 == arith_compliment)	{		SWAP(*((unsigned short *)((unsigned int *)data1 + i)), *((unsigned short *)((unsigned int *)data2 + i)));		SWAP(*((unsigned char *)data1 + data_size - 1), *((unsigned char *)data2 + data_size - 1));	}	if(2 == arith_compliment)	{		SWAP(*((unsigned short *)((unsigned int *)data1 + i)), *((unsigned short *)((unsigned int *)data2 + i)));	}	if(1 == arith_compliment)	{		SWAP(*((unsigned char *)data1 + data_size - 1), *((unsigned char *)data2 + data_size - 1));	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -