个人资料
博文
(2011-01-18 19:39)
VC6的lib类函数到易语言调用解决方案
http://cid-906aa4c2f88eb215.office.live.com/self.aspx/Share/易语言/问题及解决方案/lib调用解决方案.zip
相关链接 http://bbs.eyuyan.com/read.php?tid=249406
文档编写:菲菲
技术指导:树上de虫虫
辅助工具提供:树上de虫虫
测试源码编写:菲菲
测试人员:树上de虫虫,血清,菲菲
测试系统:winxp ,win2003,
带*为必须项,不得更换工具或者版本
准备工具:
1,Dlldump,支持DLL,EXE,LIB
* 2,librename
* 3,易语言5.11或更高版本
4,易语言黑月
* 5,VC6
* 6, 完整版VC6链接器,直接修改为VC6VC98Bin即可
详细操作步骤:
一,易语言
1,"Lib的C++源码"生成lib文件,复制mysystem.lib到"原版lib文件mysystem.lib"目录(本步骤可省略,已有生成好的mysystem.lib)
2,复制 原版lib文件mysystem.lib 到 原版lib_测试_易语言mysystem.lib(本步骤可省略)
3,运行 DlldumpDlldump7.exe,拖放mysystem.lib到程序界面,执行"生成全部数据".
打开生成的mysystem_ALL.txt,搜索定义函数名"mysystem"(查看VC6源码)
查找相关字符
"public: virtual int __thiscall mysys::mysystem(char const *)" (?mysystem@mysys@@UAEHPBD@Z)
3,新建windows控制台程序,mylibtest.e,
添加DLL命令
.版本 2
.DLL命令 system, 整数型, "mysystem.lib", "?mysystem@mysys@@UAEHPBD@Z"
.参数 command, 文本型
添加测试代码
..版本 2
.子程序 子程序1
.局部变量 输入内容, 文本型
system (“title system命令演示”)
system (“mode con cols=48 lines=25”)
system (“color 0B”)
system (“date /T”)
system (“TIME /T”)
system (“echo (quit 退出)”)
system (“echo (cls 清屏)”)
.判断循环首 (真)
输入内容 = 标准输入 ()
.判断开始 (输入内容 = “exit”)
跳出循环 ()
.判断 (输入内容 = “quit”)
跳出循环 ()
.判断 (输入内容 = “cls”)
system (“cls”)
.默认
system (输入内容)
.判断结束
.判断循环尾 ()
4,静态编译,并执行文件测试
二,黑月
1,复制 原版lib文件mysystem.lib 到 librenamemysystem.lib
2, 修改rename.bat,相关参数
注意:新函数名长度 不得超过 原函数名长度
说明
librename [lib文件] [新lib文件] [原函数名] [新函数名] [参数个数]
librename [/lib] [/newlib] [/ProcName] [/NewProcName] [/ArgCount]
示例
librename.exe /lib:mysystem.lib /newlib:Newmysystem.lib /ProcName:?mysystem@mysys@@UAEHPBD@Z /NewProcName:mysystem /ArgCount:1
3,执行rename.bat 生成新lib文件"Newmysystem.lib"
4,复制Newmysystem.lib 到 修改版lib_测试_黑月Newmysystem.lib
5,新建windows控制台程序,mylibtestMoon.e,
6,添加黑月lib应用mylibtestMoon.ini
[Link]
Opt= Newmysystem.lib
添加DLL命令
.版本 2
.DLL命令 system, 整数型, "静态库", "mysystem@4"
.参数 command, 文本型
添加测试代码
..版本 2
.子程序 子程序1
.局部变量 输入内容, 文本型
system (“title system命令演示”)
system (“mode con cols=48 lines=25”)
system (“color 0B”)
system (“date /T”)
system (“TIME /T”)
system (“echo (quit 退出)”)
system (“echo (cls 清屏)”)
.判断循环首 (真)
输入内容 = 标准输入 ()
.判断开始 (输入内容 = “exit”)
跳出循环 ()
.判断 (输入内容 = “quit”)
跳出循环 ()
.判断 (输入内容 = “cls”)
system (“cls”)
.默认
system (输入内容)
.判断结束
.判断循环尾 ()
4,黑月编译,并执行文件测试
三,易语言 修改版lib
1,复制Newmysystem.lib 到 修改版lib_测试_易语言Newmysystem.lib
2,新建windows控制台程序,mylibtestMoon.e,
添加DLL命令
.版本 2
.DLL命令 system, 整数型, "Newmysystem.lib", "_mysystem@4"
.参数 command, 文本型
添加测试代码
..版本 2
.子程序 子程序1
.局部变量 输入内容, 文本型
system (“title system命令演示”)
system (“mode con cols=48 lines=25”)
system (“color 0B”)
system (“date /T”)
system (“TIME /T”)
system (“echo (quit 退出)”)
system (“echo (cls 清屏)”)
.判断循环首 (真)
输入内容 = 标准输入 ()
.判断开始 (输入内容 = “exit”)
跳出循环 ()
.判断 (输入内容 = “quit”)
跳出循环 ()
.判断 (输入内容 = “cls”)
system (“cls”)
.默认
system (输入内容)
.判断结束
.判断循环尾 ()
4,静态编译,并执行文件测试
相关知识
自然密码《宠物大观》
自然光环
宠物自然表情抓拍技巧
Halo自然光环七周年
幼儿园自然鸟鸣教案
#自然简报# 【热爱...
自然组
如何拍出自然的宠物照?
廊坊市自然公园
[东莞]共赴自然之约!2020·东莞·第二届自然嘉年华圆满落幕
网址: 自然宠物 https://m.mcbbbk.com/newsview350966.html
上一篇: 打造宠物爱好者的理想网站:Wor |
下一篇: java 宠物信息 |