楼 主
[已结]编译器与解释器
发表于 2008-05-09 14:34 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
编译器与解释器机理是不同的,但是
VBS确实可以编译为EXE,(编译后速度执行应该很快)某前没有发现不能成功编译的(后来发现我说的这句话有错误,速度是一点没快,就没变,生成临时文件了。微软的那个VBS2EXE也是偷梁换柱,让我感到吃惊)
简单的BAT也可以编译为EXE,(不是那种偷梁换柱地编译)但是复杂的,就不行,这是为什么?
再问句,VBS有类似goto的跳转语句吗?有的话给个例子。。
谢谢!加分。。。
[ Last edited by HAT on 2008-10-13 at 12:38 ]
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具)~~
空间~~
cmd学习
第 2 楼
发表于 2008-05-09 14:36 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
@echo off
echo 按任意键退出……
goto :End
echo 哈哈
echo 为什么我没有显示~~
:End
pause>nul
第 3 楼
发表于 2008-05-09 14:38 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
Originally posted by slore at 2008-5-9 02:36 PM:
@echo off
echo 按任意键退出……
goto :End
echo 哈哈
echo 为什么我没有显示~~
:End
pause>nul
晕,让你钻了空子,我刚打错了是VBS有类似的goto语句没?现在改了,你继续回答吧。。。
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具)~~
空间~~
cmd学习
第 4 楼
发表于 2008-05-09 14:55 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
VBS只有……一个……GOTO……
on Error GoTo 0
你要在VBS里面,只能用条件句来跳转了.
第 5 楼
发表于 2008-05-09 14:59 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
你用goto举个简单的完整的例子可以吗?
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具)~~
空间~~
cmd学习
第 6 楼
发表于 2008-05-09 15:12 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
这个的作用是发生错误的时候中断,抛出错误信息(默认是这样)
只有当你使用 on Erorr Resume Next(出错了不中断,继续执行)时,
在后面如果要还原到需要出错就中断时候使用。
第 7 楼
发表于 2008-05-09 15:15 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
on Error Resume Next
f "哈哈"
MsgBox "我被执行了?"
'On Error GoTo 0
f "错误"
MsgBox "我也被执行了?"
Sub f(strA,strB)
End Sub
对比去掉'注释符的运行效果。
第 8 楼
发表于 2008-05-09 15:31 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
嗯,哪这么看来这个goto 0相当于bat中的goto:eof?
可否这么理解VBS中不存在类似goto 到指定标签的语句了
就是它可以越过某几行代码段,然后解释执行后面的语句?
[ Last edited by plp626 on 2008-5-9 at 03:43 PM ]
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具)~~
空间~~
cmd学习
第 9 楼
发表于 2008-05-09 15:44 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
刚才以为你没回复,发了帖子后才看见了你7楼的帖子。。。
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具)~~
空间~~
cmd学习
第 10 楼
发表于 2008-05-09 15:45 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
eof是结尾……是退出的意思……
这个goto 0只是开启错误中断……没错的话是不会停的……而BAT遇到就end了……
VBS不存在……
GOTO不是结构化语句……
一般goto的都可以if……
本帖最近评分记录
(共 1 条)
点击查看详情
| 评分人 | 分数 | 时间 |
| plp626 |
+3 |
2008-05-09 15:51 |
第 11 楼
想编写一个可以使用的汇编编译器
发表于 2008-10-11 13:04 · 中国 北京 昌平区 联通
新手上路
★
积分 2
发帖 1
注册 2008-10-11 12:43
17年会员
UID 128067
性别 男
状态 离线
第 12 楼
发表于 2008-10-11 14:52 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
vbs好像可以编译为VBE或独立的EXE文件,不用再次释放的,不知道对不对
在批处理中使用goto之前都会有一个判断过程,而VBS则直接在判断过程中就已经越过了不需要的代码行
49206C6F766520796F752067757973 54656C3A3133383238343036373837
第 13 楼
发表于 2008-10-11 16:16 · 中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
论坛跳转: