中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [已结]编译器与解释器 上一主题 | 下一主题
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『楼 主』:  [已结]编译器与解释器

编译器与解释器机理是不同的,但是
VBS确实可以编译为EXE,(编译后速度执行应该很快)某前没有发现不能成功编译的(后来发现我说的这句话有错误,速度是一点没快,就没变,生成临时文件了。微软的那个VBS2EXE也是偷梁换柱,让我感到吃惊)
简单的BAT也可以编译为EXE,(不是那种偷梁换柱地编译)但是复杂的,就不行,这是为什么?

再问句,VBS有类似goto的跳转语句吗?有的话给个例子。。
谢谢!加分。。。

[ Last edited by HAT on 2008-10-13 at 12:38 ]



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-5-9 14:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

@echo off
echo 按任意键退出……
goto :End
echo 哈哈
echo 为什么我没有显示~~
:End
pause>nul

2008-5-9 14:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by slore at 2008-5-9 02:36 PM:
@echo off
echo 按任意键退出……
goto :End
echo 哈哈
echo 为什么我没有显示~~
:End
pause>nul

晕,让你钻了空子,我刚打错了是VBS有类似的goto语句没?现在改了,你继续回答吧。。。



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-5-9 14:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

VBS只有……一个……GOTO……

on Error GoTo 0

你要在VBS里面,只能用条件句来跳转了.

2008-5-9 14:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 5 楼』:  

你用goto举个简单的完整的例子可以吗?



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-5-9 14:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 6 楼』:  

这个的作用是发生错误的时候中断,抛出错误信息(默认是这样)
只有当你使用 on Erorr Resume Next(出错了不中断,继续执行)时,
在后面如果要还原到需要出错就中断时候使用。

2008-5-9 15:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 7 楼』:  

on Error Resume Next
f "哈哈"
MsgBox "我被执行了?"
'On Error GoTo 0
f "错误"
MsgBox "我也被执行了?"

Sub f(strA,strB)
End Sub

对比去掉'注释符的运行效果。

2008-5-9 15:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 8 楼』:  

嗯,哪这么看来这个goto 0相当于bat中的goto:eof?

可否这么理解VBS中不存在类似goto 到指定标签的语句了

就是它可以越过某几行代码段,然后解释执行后面的语句?

[ Last edited by plp626 on 2008-5-9 at 03:43 PM ]



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-5-9 15:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 9 楼』:  

刚才以为你没回复,发了帖子后才看见了你7楼的帖子。。。



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-5-9 15:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 10 楼』:  

eof是结尾……是退出的意思……

这个goto 0只是开启错误中断……没错的话是不会停的……而BAT遇到就end了……


VBS不存在……

GOTO不是结构化语句……

一般goto的都可以if……

   此帖被 +3 点积分     点击查看详情   
评分人:【 plp626 分数: +3  时间:2008-5-9 15:51


2008-5-9 15:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
douglous2008
新手上路





积分 2
发帖 1
注册 2008-10-11
状态 离线
『第 11 楼』:  想编写一个可以使用的汇编编译器

不知道怎么写呀
可以给点建议吗
可以实现的方法

2008-10-11 13:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 12 楼』:  

vbs好像可以编译为VBE或独立的EXE文件,不用再次释放的,不知道对不对

在批处理中使用goto之前都会有一个判断过程,而VBS则直接在判断过程中就已经越过了不需要的代码行



49206C6F766520796F752067757973 54656C3A3133383238343036373837
2008-10-11 14:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 13 楼』:  

vbs可以用call实现跳转吧



2008-10-11 16:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: