收藏 分享(赏)

中国象棋开局编号分析驱动程序.doc

上传人:scg750829 文档编号:9421270 上传时间:2019-08-06 格式:DOC 页数:3 大小:35KB
下载 相关 举报
中国象棋开局编号分析驱动程序.doc_第1页
第1页 / 共3页
中国象棋开局编号分析驱动程序.doc_第2页
第2页 / 共3页
中国象棋开局编号分析驱动程序.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、中国象棋开局编号分析驱动程序(ECCO.DLL/libecco.so)使用说明 象棋百科全书网 () 2007 年 4 月 一、Windows 驱动程序 ECCO.DLL ECCO.DLL 是著名象棋软件象棋巫师自带的开局解析系统,现版本号为“ECCO (2004) Analyst 1.0”,为推广 ECCO 编号体系,特此公布此驱动程序的接口,广大象棋软件的开发者可以以任何非商业目的使用该程序。 ECCO.DLL 是 32 位 Windows 的 API 函数动态链接库,包含了以下 5 个函数,其接口是: LPCSTR (WINAPI *EccoVersion)(VOID); / 返回 EC

2、CO 编号识别系统版本号(注:这个函数的系统别名应该是“_EccoVersion0“,下同) VOID (WINAPI *EccoInitOpenVar)(BOOL bTrad); / 初始化开局和变例字符串,调用以下函数前务必先调用此函数 LONG (WINAPI *EccoIndex)(LPCSTR szMoveFile); / 返回某个开局的 ECCO 编号(注:这个函数的系统别名应该是“_EccoIndex4“,下同) LPCSTR (WINAPI *EccoOpening)(LONG dwEccoIndex); / 返回 ECCO 编号对应的开局名称 LPCSTR (WINAPI *

3、EccoVariation)(LONG dwEccoIndex); / 返回 ECCO 编号对应的变例名称 其中 EccoIndex 函数是开局解析系统的核心,szMoveFile 是用符号纵线格式(即 C2.5)按顺序排列的字符串,例如“C2.5N8+7“即代表“1. 炮二平五 马进”,返回 4 字节的 32 位整数(LONG),其中前 3 字节即 ECCO 编号,该 32位整数可直接作为 EccoOpening 和 EccoVariation 的参数。调用上面这些函数可参考以下 C 语言的实例: HMODULE hModule = LoadLibrary(“ECCO.DLL“); Ecco

4、Version = (LPCSTR (WINAPI *)(VOID) GetProcAddress(hModule, “_EccoVersion0“); EccoInitOpenVar = (VOID (WINAPI *)(BOOL) GetProcAddress(hModule, “_EccoInitOpenVar4“); EccoIndex = (LONG (WINAPI *)(LPCSTR) GetProcAddress(hModule, “_EccoIndex4“); EccoOpening = (LPCSTR (WINAPI *)(LONG) GetProcAddress(hModu

5、le, “_EccoOpening4“); EccoVariation = (LPCSTR (WINAPI *)(LONG) GetProcAddress(hModule, “_EccoVariation4“); / 从 ECCO.DLL 中获取库函数 EccoVersion(); / 返回指向字符串“ECCO (2004) Analyst 1.0“的指针(LPCSTR) EccoInitOpenVar(FALSE); / 使用前务必初始化,参数 FALSE 表示简体,TRUE 表示繁体 EccoIndex(“C2.5N8+7N2+3R9.8R1.2P7+1R2+6N2+3P7+1C8.9R2

6、.3C9-1N8+7A4+5C8.9“); / 返回由“C45“对应的 4 字节组成的 32 位整数(LONG) EccoOpening(*(LPLONG) “D29“); / 返回指向字符串“顺炮直车对横车“的指针(LPCSTR) EccoVariation(*(LPLONG) “D29“); / 返回指向字符串“红两头蛇对黑双横车“的指针(LPCSTR) 二、Linux 驱动程序 libecco.so Linux 的象棋软件时使用 ECCO 时,可调用 Linux 下的 ECCO 分析驱动程序 libecco.so,其定义的函数如下: const char *EccoVersion(voi

7、d); void EccoInitOpenVar(int bTrad); / 参数 0 表示简体,1 表示繁体 long EccoIndex(const char *szMoveFile); const char *EccoOpening(long dwEccoIndex); const char *EccoVariation(long dwEccoIndex); 与 Windows 不同,这些函数的别名没有前缀“_”和后缀“.”。调用上面这些函数可参考以下 C 语言的实例: #include void *hModule = dlopen(“libecco.so“, RTLD_LAZY); E

8、ccoVersion = (const char *(*)(void) dlsym(hModule, “EccoVersion“); EccoInitOpenVar = (void (*)(long) dlsym(hModule, “EccoInitOpenVar“); EccoIndex = (long (*)(const char *) dlsym(hModule, “EccoIndex“); EccoOpening = (const char *(*)(long) dlsym(hModule, “EccoOpening“); EccoVariation = (const char *(*)(long) dlsym(hModule, “EccoVariation“); 这些函数的用法与 Windows 驱动程序中的相应函数一样,这里不再重复。 三、下载 ECCO.DLL 和 libecco.so 的下载地址是:http:/ 文件用 7-Zip 或 WinRAR(3.6+)打开。若有其他使用上的问题,可登陆象棋百科全书论坛()的“开局百科”栏目询问。 上一篇 中国象棋开局编号 E仙人指路局 下一篇 当代中国象棋开局的发展趋势 (图表) 返 回 象棋百科全书 开局百科

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报