分享

VC6的lib类函数到易语言调用解决方案

 imelee 2017-10-10

VC6lib类函数到易语言调用解决方案


 http://cid-906aa4c2f88eb215.office./self.aspx/Share/易语言/问题及解决方案/lib调用解决方案.zip

 

 


相关链接 http://bbs./read.php?tid=249406


文档编写:菲菲  

技术指导:树上de虫虫

辅助工具提供:树上de虫虫

测试源码编写:菲菲

测试人员:树上de虫虫,血清,菲菲

测试系统:winxp ,win2003,

 

*为必须项,不得更换工具或者版本

准备工具:

1Dlldump,支持DLL,EXE,LIB

2librename

3,易语言5.11或更高版本

4,易语言黑月

5VC6

6, 完整版VC6链接器,直接修改为VC6\VC98\Bin即可

详细操作步骤:

 

,易语言

 

1"LibC++源码"生成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,静态编译,并执行文件测试

 

 

VC6的lib类函数到易语言调用解决方案





 

 

 

 

 

 

 

 

 

 

,黑月

 

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,黑月编译,并执行文件测试

 

VC6的lib类函数到易语言调用解决方案

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,易语言 修改版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,静态编译,并执行文件测试

VC6的lib类函数到易语言调用解决方案

 

 

  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多