[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 cjiabing 于 2011-4-22 20:53 编辑

虽然俺不是专家,不过看见你们瞎忙乎,很想和你们谈谈一些个人认识。
      计算机有 0和1 两种基本信号,编码后组成一些最基本的字符列阵,这些字符列阵在系统中被其它程序广泛使用。具体搜索下“计算机编码”、“字符集”、“进制”。字符集应该这就是你们谈到的“字符表”了。这些字符表、字符集也是按照计算机编码顺序组成的,如果记得当年的那些什么码输入法你可能会幡然醒悟。但假如没有也不要紧,系统一般自带了这些字符映射信息。
      通常,XP系统里的字符集位于:【开始菜单——附件——系统工具——字符映射表】,真实路径位于:【  %SystemRoot%\system32\charmap.exe  】,可在运行里输入【 charmap 】打开。这就是字符映射表。将鼠标随便移动到字符表上,稍加停留,或者点击,你就能看到任意字符在字符表中的ID。然后你再看看排在最前面的几个是什么字符,你就知道可能的读取速度了。一般我们认为,可能受到编码进制的影响,排在前面的编码顺序要比后面的快。当然,这些在平时是感觉不到的,只有像你们折磨CPU和内存的时候它才表现出来。——这个可能需要更多的证据。
      再谈谈你们测试方法存在的问题。当你们通过产生大量变量来处理问题的时候,我就想到了洪水对河道的霸占。当暴雨剧降,河水泛滥,河道无法容纳足够的河水,于是溢出。而当暴雨过去,河水的消退也需要一定的时间。从变量的增加到变量的清除,内存或者cpu的处理都需要时间和空间,而这个时间是不能用增加时和清除时的时间简单相加和平均的来算的。
      再者,批处理融入到系统内部,它处理的时候应该是内部处理,只是它有许多外部接口。做个试验,在一个简单循环程序中,使用“@echo off”会明显比不使用该开头的程序运行速度快,因为后者运行时进行了重定向。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 cjiabing 于 2011-4-23 13:15 编辑
80# batman


1,用来说明微软为什么使用全字符ANSI来排列变量名。
2,命令解释器进内存中的环境变量区间是如何匹配的,是拿着变量名一个一个的遍历所有变量名来比较,还是按着ANSI顺序逐字比较变量名。
hanyeguxing 发表于 2011-4-23 10:20

      还是兄科学发展观学得好,不懂他们鼓捣出什么“真理”出来没有!~
      既然是“变量机制”,至少得出个有现实意义的结论,好指导我们平时怎么设置变量。
      比如用 !var! 还是用 %var% ,用不同的变量还是用同一个变量,用%abc% 顺序的,还是%zijizuodepichulibianliangjizhi%冗长颠倒的变量,用变量还是用临时文件,用多个不同变量,还是用同一个变量……
      再问深一点的:变量是怎么来的?它的作用是什么?它的运行机制是什么?它在内存中是怎么样工作的?变量是如何赋值和如何取消的?微软是怎么解释的?微软是怎么使用变量的?变量与什么有关?变量的极限是什么?有没有最佳和最差变量?有没有系统内部通用变量?怎么区分和联系各种变量?批处理的变量是否可以超出cmd.exe?计算机编码和进制对变量有什么影响?变量在解释器中如何解释?……
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

百度搜索下:变量、环境变量、全局变量、局部变量、静态变量、变量名污染、堆栈……
内容虽然不是很多,可能与批处理也无关,不过一些观点还是值得参考的!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

返回列表