打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VC6的lib类函数到易语言调用解决方案
http://cid-906aa4c2f88eb215.office.live.com/self.aspx/Share/易语言/问题及解决方案/lib调用解决方案.zip
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链接器,直接修改为VC6\VC98\Bin即可
详细操作步骤:
一,易语言
1,"Lib的C++源码"生成lib文件,复制mysystem.lib到"\原版lib文件\mysystem.lib"目录(本步骤可省略,已有生成好的mysystem.lib)
2,复制 \原版lib文件\mysystem.lib 到 \原版lib_测试_易语言\mysystem.lib(本步骤可省略)
3,运行 \Dlldump\Dlldump7.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 到 \librename\mysystem.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,静态编译,并执行文件测试
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VC++动态链接库(DLL)编程深入浅出(二)
VC++中动态链接库的显示加载和隐式加载的区别?
C++Builder及VC的DLL相互调用
VC调用DLL
win7 64bit下安装openGL的freeglut
VC 动态链接库(DLL)编程深入浅出
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服