??xml version="1.0" encoding="utf-8" standalone="yes"?>97久久国产亚洲精品超碰热 ,无码任你躁久久久久久,99精品久久久久久久婷婷http://www.shnenglu.com/zmllegtui/Nothing in my mind.zh-cnWed, 07 May 2025 05:23:29 GMTWed, 07 May 2025 05:23:29 GMT60xcopyhttp://www.shnenglu.com/zmllegtui/archive/2010/04/19/112997.htmlzml_cnnkzml_cnnkMon, 19 Apr 2010 09:00:00 GMThttp://www.shnenglu.com/zmllegtui/archive/2010/04/19/112997.htmlhttp://www.shnenglu.com/zmllegtui/comments/112997.htmlhttp://www.shnenglu.com/zmllegtui/archive/2010/04/19/112997.html#Feedback0http://www.shnenglu.com/zmllegtui/comments/commentRss/112997.htmlhttp://www.shnenglu.com/zmllegtui/services/trackbacks/112997.htmlXcopy
复制文g和目录,包括子目录?

语法
xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z]

参数
Source
必需的。指定要复制的文件的位置和名U。该参数必须包含驱动器或路径?
Destination
指定要复制的文g的目标。该参数可以包含驱动器盘W和冒号、目录名、文件名或者它们的l合?
/w
在开始复制文件之前将昄以下消息q等待您的响应:
Press any key to begin copying file(s)

/p
提示您确认是否要创徏每个目标文g?
/c
忽略错误?
/v
在写入目标文件时验证每个文gQ以保目标文g与源文g完全相同?
/q
止昄 xcopy 消息?
/f
复制时显C源文g名和目标文g名?
/l
昄要复制的文g列表?
/g
创徏解密的目标文件?
/d[:mm-dd-yyyy]
只复刉些在指定日期或指定日期之后更改过的源文g。如果不包括 mm-dd-yyyy |xcopy 会复制比现有 Destination 文g新的所?Source 文g。该命o行选项使您可以更新更改q的文g?
/u
只从 source 复制 destination 中已有的文g?
/i
如果 Source 是一个目录或包含通配W,?Destination 不存在,xcopy 会假?destination 指定目录名ƈ创徏一个新目录。然后,xcopy 会将所有指定文件复制到新目录中。默认情况下Qxcopy 提C您指定 destination 是文件还是目录?
/s
复制非空的目录和子目录。如果省?/sQxcopy 在一个目录中工作?
/e
复制所有子目录Q包括空目录。同时?/e?s ?/t 命o行选项?
/t
只复制子目录l构Q即目录树)Q不复制文g。要复制I目录,必须包含 /e 命o行选项?
/k
复制文gQ如果源文gh只读属性,则在目标文g中保留该属性。默认情况下Qxcopy 会删除只d性?
/r
复制只读文g?
/h
复制h隐藏和系l文件属性的文g。默认情况下Qxcopy 不复刉藏或pȝ文g?
/a
只复刉些具有存档文件属性设|的源文件?a 不修Ҏ文g的存档文件属性。有兛_何通过使用 attrib 来设|存档文件属性的信息Q请参阅“”?
/m
复制h存档文g属性设|的源文件。与 /a 不同Q?m 关闭在源中指定的文g的存档文件属性。有兛_何通过使用 attrib 来设|存档文件属性的信息Q请参阅“”?
/n
使用 NTFS 短文件或目录名创建副本。将文g或目录从 NTFS 卷复制到 FAT h者当目标文gpȝ需?FAT 文gpȝ命名U定Q即 8.3 个字W)Ӟ需?/n。目标文件系l可以是 FAT ?NTFS?
/o
复制文g所有权与自由选择的访问控制列?(DACL) 信息?
/x
复制文g审核讄和系l访问控制列?(SACL) 信息Q包?/oQ?
/exclude:filename1[+[filename2]][+[filename3]]
指定包含字符串的文g列表?
/y
止提示您确认要覆盖现存的目标文件?
/-y
提示您确认要覆盖现有目标文g?
/z
在可重启模式中通过|络复制?
/?
在命令提C符昄帮助?
注释
使用 /v
XOX

使用 /exclude
列出每个文g的单独行中的每个字符丌Ӏ如果列出的M字符串与要复制的文g的绝对\径的M部分匚wQ就从复制进E排除该文g。例如,如果指定字符?"\Obj\"Q则会排?Obj 目录下的所有文件。如果指定字W串 ".obj"Q则排除h .obj 扩展名的所有文件?

使用 /z
如果在复制过E中丢失q接Q例如,如果用于q接的服务器脱机Q,复制q程在重新建立q接后恢复?z 也显C每个文件完成的复制操作的百分比?

?COPYCMD 环境变量中?/y
可在 COPYCMD 环境变量中?/y。在命o行上使用 /-y 可以覆盖该命令。默认情况下Q会提示您覆盖,除非您从批处理脚本内q行 copy?

复制加密的文?
加密文件复制到不支?EFS 的卷会导致错误。应首先解密文g或将文g复制到支?EFS 的卷中?

附属文g
要附加文Ӟh定单个目标文Ӟ多个源文Ӟ使用通配W或文g 1 + 文g 2 + 文g 3 格式Q?

Destination 的默认?
如果省略 DestinationQxcopy 命o文件复制到当前目录?

指定 Destination 是文件还是目?
如果 Destination 不包含现有目录且不以反斜?(\) l尾Q会出现下列消息Q?

Does destination specify a file name
or directory name on the target
(F = file, D = directory)?

如果要将一个或多个文g复制C个文Ӟh F。如果要一个或多个文g复制C个目录,h D?

使用 /i 命o行选项可抑制显C消息Q从而导?xcopy 认定在源是多个文件或一个目录的情况下,目标是一个目录?

使用 xcopy 命o讄 Destination 文g的存档属?
xcopy 命o创徏h存档属性设|的文gQ无论源文g中是否设定了此属性。有x件属性和 attrib 的详l信息,请参?#8220;”?

比较 xcopy ?diskcopy
如果盘的子目录中包含文Ӟ要将其复制到h不同格式的磁盘中Q请使用 xcopy 命oQ而不要?diskcopy。因?diskcopy 命o是一个磁道接一个磁道地复制盘Q所以需要源盘和目标磁盘的格式必须相同。xcopy 命o没有该要求。通常情况下请使用 xcopyQ除非您需要完整的盘囑փ副本?

xcopy 的退出码
要处?xcopy q回的退出码Q请在批处理E序?if 命o行上使用 errorlevel 参数。有关?#8220;if”处理退出码的批处理E序的范例,请参?#8220;”。下表列出每一个退出码和说明?

退出码 说明
0 文g复制没有错误?
1 没有扑ֈ要复制的文g?
2 用户?CTRL+C l止?xcopy?
4 出现了初始化错误。没有够的内存或磁盘空_或命令行上输入了无效的驱动器名称或语法?
5 出现了磁盘写入错误?

范例
要从驱动?A 所有文件和子目录(包括所有空的子目录Q复制到驱动?BQ请键入Q?

xcopy a:b:/s /e

要包含上一CZ中的Mpȝ或隐藏文Ӟh如下所C添?/h 命o行选项Q?

xcopy a:b:/s /e /h

要?\Rawdata 目录?1993 q?12 ?29 日后更改的文件更?\Reports 目录中的文gQ请键入Q?

xcopy \rawdata \reports /d:12-29-1993

要更C例中 \Reports 中存在的所有文Ӟ而不考虑日期Q请键入Q?

xcopy \rawdata \reports /u

如果只想获得前一个命令要复制的文件列表,而不复制文gQ请键入Q?

xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out

文g Xcopy.out 列出了要复制的所有文件?

要将 \Customer 目录和所有子目录复制到网l驱动器 H: 上的目录 \\Public\AddressQ保留只d性,q在 H: 上创建新文g时对您做出提C,请键入:

xcopy \customer h:\public\address /s /e /k /p

要发Z一个命令,保?\Address 目录不存在时 xcopy 会创目录Q同时应抑制昄创徏新目录时要显C的消息Q请按如下所C添?/i 命o行选项Q?

xcopy \customer h:\public\address /s /e /k /p /i

可以创徏批处理程序执?xcopy 操作Qƈ且?if 批处理命令在发生错误时处理退出码。例如,以下的批处理E序使用可替换的 xcopy 源和目标参数Q?

@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination

rem drive or directory (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit

:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit

:abort
echo You pressed CTRL+C to end the copy operation.
goto exit

:exit

要用该批处理程序将 C:\Prgmcode 目录和其子目录中的所有文件复制到驱动?B 中,请键入:

copyit c:\prgmcode b:

该命令解释程序将?C:\Prgmcode 替换 %1 ?B:。对?%2Q然后?xcopy ?/e ?/s 命o行选项。如?xcopy 遇到错误Q批处理E序读取退出码q{到相?IF ERRORLEVEL 语句中指C的标签Q然后显C相应的消息q出批处理E序?br>详细出处参考:http://www.jb51.net/article/11313.htm



zml_cnnk 2010-04-19 17:00 发表评论
]]>
WindowsXPq行命ohttp://www.shnenglu.com/zmllegtui/archive/2010/04/12/112282.htmlzml_cnnkzml_cnnkSun, 11 Apr 2010 18:18:00 GMThttp://www.shnenglu.com/zmllegtui/archive/2010/04/12/112282.htmlhttp://www.shnenglu.com/zmllegtui/comments/112282.htmlhttp://www.shnenglu.com/zmllegtui/archive/2010/04/12/112282.html#Feedback0http://www.shnenglu.com/zmllegtui/comments/commentRss/112282.htmlhttp://www.shnenglu.com/zmllegtui/services/trackbacks/112282.html可用于bat文g中的call调用Q大多项未经试= =Q?br> 
辅助功能选项     access.cpl  
dg向导     hdwwiz.cpl  
d或删除程?    appwiz.cpl  
理工具      control admintools  
自动更新      wuaucpl.cpl  
Bluetooth文g传送向?  fsquirt  
计算?      calc  
证书理控制?    certmgr.msc  
字符映射?     charmap  
盘查工?nbsp;   chkdsk  
剪脓查看器     clipbrd  
命o行提C符     cmd  
lg服务      dcomcnfg  
计算机管?     compmgmt.msc  
日期和时间属?    timedate.cpl  
DDE׃n      ddeshare  
讑֤理?     devmgmt.msc  
Direct X控制面板    directx.cpl  
Direct X诊断工具   dxdiag  
盘清理工具     cleanmgr  
盘片整理E序    dfrg.msc  
盘理      diskmgmt.msc  
盘分区理?    diskpart  
个性化       control desktop  
昄属?     desk.cpl  
昄属性的外观选项?  control color  
Dr. Watsonpȝ诊断工具   drwtsn32  
Driver Verifier Manager  verifier  
事g查看?     eventvwr.msc  
文g{֐验证     sigverif  
快速查?     findfast.cpl  
文g多w项      control folders  
字体文g?     control fonts  
字体文g?     fonts  
I档接龙游戏     freecell  
游戏控制      joy.cpl  
本地l策略编辑器    gpedit.msc  
U心大战游戏     mshearts  
Iexpress向导     iexpress  
索引服务      ciadv.msc  
Internet属?    inetcpl.cpl  
IP配置实用E序(昄q接配置)    ipconfig /all  
IP配置实用E序(昄DNS~存内容)   ipconfig /displaydns  
IP配置实用E序(删除DNS~存内容)   ipconfig /flushdns  
IP配置实用E序(释放全部(或指?适配器的由DHCP分配的动态IP地址)   ipconfig /release  
IP配置实用E序(为全部适配器重新分配IP地址)        ipconfig /renew  
IP配置实用E序(hDHCPq新注册DNS)         ipconfig /registerdns  
IP配置实用E序(昄DHCP Class ID)   ipconfig /showclassid  
IP配置实用E序(修改DHCP Class ID)   ipconfig /setclassid    
键盘属?     control keyboard  
本地安全讄     secpol.msc  
本地用户和组     lusrmgr.msc  
从Windows注销     logoff  
微Y聊天E序     winchat  
扫雷游戏      winmine  
鼠标属?     control mouse  
鼠标属?     main.cpl  
|络q接      control netconnections  
|络q接      ncpa.cpl  
|络安装向导     netsetup.cpl  
C?      notepad  
Nview桌面理?如果已经安装)    nvtuicpl.cpl  
对象包装E序     packager  
ODBC数据源管理器    odbccp32.cpl  
屏幕键盘      osk  
AC3解码?如果已经安装)  ac3filter.cpl  
密码属?     password.cpl  
性能       perfmon.msc  
性能       perfmon  
电话与调制解调器选项   telephon.cpl  
甉|选项属?    powercfg.cpl  
打印机和传真     control printers  
打印机文件夹     printers  
TrueType造字E序    eudcedit  
Quicktime(如果已经安装)  QuickTime.cpl  
区域和语a选项     intl.cpl  
注册表编辑器     regedit  
注册表编辑器     regedit32  
q程桌面      mstsc  
可移动存?     ntmsmgr.msc  
可移动存储操作请?   ntmsoprq.msc  
{略的结果集 (XP专业?  rsop.msc  
扫描仪与相机     sticpl.cpl  
d计划      control schedtasks  
Windows安全中心    wscui.cpl  
服务       services.msc  
׃n文g?     fsmgmt.msc  
关闭Windows     shutdown  
声音和音频设备属?   mmsys.cpl  
蜘蛛牌游?     spider  
SQL Client客户端网l实用工?   cliconfg  
pȝ配置~辑?nbsp;   sysedit  
pȝ配置实用E序    msconfig  
pȝ文g查工?立即扫描)     sfc /scannow  
pȝ文g查工?下次启动时扫?   sfc /scanonce  
pȝ文g查工?每次启动时扫?   sfc /scanboot  
pȝ文g查工?q回默认讄)    sfc /revert  
pȝ文g查工?清除文g~存)    sfc /purgecache  
pȝ文g查工?讄~存大小=x)   sfc /cachesize=x  
pȝ属?     sysdm.cpl  
d理?     taskmgr  
Telnet客户?    telnet  
用户帐户理     nusrmgr.cpl  
辅助工具理?    utilman  
Windows防火?    firewall.cpl  
Windows攑֤?    magnify  
Windows理体系l构   wmimgmt.msc  
Windowspȝ安全工具   syskey  
q行Windows更新    wupdmgr  
漫游Windows XP     tourstart  
写字?      write



zml_cnnk 2010-04-12 02:18 发表评论
]]>
如何搭徏自己的Wikihttp://www.shnenglu.com/zmllegtui/archive/2010/04/09/112097.htmlzml_cnnkzml_cnnkFri, 09 Apr 2010 10:30:00 GMThttp://www.shnenglu.com/zmllegtui/archive/2010/04/09/112097.htmlhttp://www.shnenglu.com/zmllegtui/comments/112097.htmlhttp://www.shnenglu.com/zmllegtui/archive/2010/04/09/112097.html#Feedback0http://www.shnenglu.com/zmllegtui/comments/commentRss/112097.htmlhttp://www.shnenglu.com/zmllegtui/services/trackbacks/112097.htmlhttp://www.360doc.com/content/07/0906/08/41237_722416.shtml


zml_cnnk 2010-04-09 18:30 发表评论
]]>
~写软g目需求文?/title><link>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112087.html</link><dc:creator>zml_cnnk</dc:creator><author>zml_cnnk</author><pubDate>Fri, 09 Apr 2010 09:31:00 GMT</pubDate><guid>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112087.html</guid><wfw:comment>http://www.shnenglu.com/zmllegtui/comments/112087.html</wfw:comment><comments>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112087.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zmllegtui/comments/commentRss/112087.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zmllegtui/services/trackbacks/112087.html</trackback:ping><description><![CDATA[<font><font size="3"><font face="Verdana">• 保持语句和段落的短?br>• 采用d语态的表达方式?br>• ~写h正确的语法、拼写和标点的完整句子?br>• 使用的术语与词汇表中所定义的应该一致?br>• 需求陈q应该具有一致的样式Q例?#8220;pȝ必须⋯⋯”或?#8220;用户必须⋯⋯”Qƈ紧跟一个行为动作和可观察的l果。例如,“仓库理子系l必LCZ张所h的仓库中有存货的化学药品容器清单?#8221;<br>• Z减少不确定性,必须避免模糊的、主观的术语Q例如,用户友好、容易、简单、迅速、有效、支持、许多、最新技术、优的、可接受的和健壮的。当用客?#8220;用户友好”或?#8220;?#8221;或?#8220;健壮”Ӟ你应该明它们的真正含义q且在需求中阐明用户的意图?br>• 避免使用比较性的词汇Q例如:提高、最大化、最化和最佛_。定量地说明所需要提高的E度或者说清一些参数可接受的最大值和最倹{当客户说明pȝ应该“ 处理”?#8220;支持”?#8220;理”某些事情Ӟ你应该能理解客户的意图。含p的语句表达引起需求的不可验证。由于需求的~写是层ơ化的,因此Q可以把层不明 的需求向低层详细分解Q直到消除不明确性ؓ止。编写详l的需求文档,所带来的益处是如果需求得到满I那么客户的目的也pCQ但是不要让q于详细? 需求媄响了设计。如果你能用不同的方法来满需求且q种Ҏ都是可接受的Q那么需求的详细E度也就_了。然而,如果评审软g需求规D明的设计人员对客 L意图q不甚了解,那么需要增加额外的说明Q以减少׃误解而生返工的风险?br></font></font></font><font><font size="3"><font face="Verdana">• ~写可测试需求文?/font></font></font><font><font size="3"><font face="Verdana">?/font></font></font><font><font size="3"><font face="Verdana">需求文档的~写人员L力求L到恰如其分的需求详l? E度。一个有益的原则是~写单个的可试需求文档。如果你惛_一些相关的试用例可以验证q个需求能够正地实现Q那么就辑ֈ了合理的详细E度。如果你 预想的测试很多ƈ且很分散Q那么可能就要将一些集合在一L需求分d。已l徏议将可测试的需求作量Y件品规模大的度QWilson 1995Q?br></font></font></font><font><font size="3"><font face="Verdana">• </font></font></font><font><font size="3"><font face="Verdana">文档的编写h员必M相同的详l程度编写每个需求文档。我曾见q在同一份Y仉求规D明中Q对需求的说明五花八门。例 如,“l合键C o n t r o l - S代表保存文g”?#8220;l合键C o n t r o l - P代表打印文g”被当成两个独立的需求。然而,“产品必须响应以语x式输入的~辑指o”则被作ؓ一个子pȝQ而ƈ不作Z个简单的功能需求。文档的~写 人员不应该把多个需求集中在一个冗长的叙述D落中。在需求中诸如“?#8221;Q?#8220;?#8221;之类的连词就表明了该部分集中了多个需求。务必记住,不要在需求说明中使用 “??#8221;Q?#8220;{等”之类的连词。文档的~写人员在编写Y仉求规D明时不应该出现需求冗余。虽然在不同的地方出现相同的需求可能会使文档更易读Q但q? 也造成了维护上的困难。需求的多个实例都需要同时更斎ͼ以免造成需求各实例之间的不一致。在软g需求规D明中交叉引用相关的各,</font><font face="Verdana">在进行更Ҏ有助于保持它们之间的同步。让独立性强的需求在需求管理工h数据库中只出Cơ,q样可以~和冗余问题?br><br>================可有可无的分割线================<br><br></font></font></font>首先Q应重视需求分析的目的Q意义)Q编写目的明,写的详细Q能保文档的质量有所提高?br>下面是一D需求分析意义的范例Q希望对大家有所帮助?br><span id="ka24iea" class="Title">1.6q行需求分析的意义</span><br><font color="#ff6600">1. 本说明书对用户生信息理的业务、对pȝ要实现的主要功能、性能{需求进行全面地阐述Q以便帮助用户判断所要开发的软g是否W合他们的要求。该说明书将在Y件开发目标和需求方面ؓ用户和开发者之间创Z个共同的基础和共识?br>2. ? 于需求说明书要有用户的审核、修改完善、认定的q程Q在q个q程中可以用户在Y件设计之前广泛地征求各业务部门的意见、提出有关系l徏讄、对自己 的需求和要求q行周密地思考,q要把这些意见和反映到用户需求说明书中。这样就能减事后重新设计、重新编码和重新试的返工行为?br>3. 用户需求的调查分析q程也是用户对自q业务和管理进行ȝ和规范的q程Q通过用户需求说明书把用h加规范的理反映C软g开发中Q从而用户的管理更加完善和规范?br>4. 需求说明书是开发者进行Y件设计的依据QY件设计要依据本说明书进行系l分析、数据库设计、模块设计、接口设计、输入输出格式设计等?br>5. 需求说明书使开发者在软gq行设计和开发之前,能够充分了解和熟悉用L要求Qƈ判断q些要求是否有不能解决的技术问题,若有应提Z个用戯可的代替解决Ҏ。以免出现设计出的一个目标不能在开发过E中实现的问?br>6. 在需求调查和分析期间可以搜集有关pȝ开发的有关原始数据和代码,以便在系l开发中建立开发环境时应用<br>7. 在Y件开发方面ؓ用户和开发者提供一个标准,为系l开发结束进行确认和验收提供一个双方认可的依据?br>8. 便于软g的维护和提高Qؓ软gl护和ؓ今后Ҏ开发的软gq行完善扩充提供q一步分析的基础?br>MQ用户需求说明书的编写是软g工程中的非常关键的一个环节,用户说明书也是Y件工E中的非帔R要的一个文档。一个好的用户需求说明书不但能够提高软g开发的效率、保障Y件开发的质量Q而且有利于系l的验收和以后Y件的l护及扩充?/font> <p>        下面正式谈一下我寚w求文档的一些写作思\Q?nbsp;   </p> <p>        首先要对用户机构机构有清晰的了解Q写出各机构所涉及的业务,d相应业务的用例图Q之后提取出相应的业务流E,d相应的流E图。通过业务程Q即可抽 象出pȝ需实现的功能。再各业务Q功能)涉及到对象(如h员,物品{)信息描述出来Q根据提取出的信息将功能以IPO表(卌入、处理、输Q的形式 q行描述Q逐项定量和定性地叙述对Y件所提出的功能要求,详细的说明输入什么量、经怎样的处理、得C么输出,q说明待开发Y件应支持的终端数和应支持? q行操作的用h。需求文档的主要部分p样完成了?/p> <p>====================完全没有必要的分割线=====================</p> <p>引用topic:<br></p> http://www.javaeye.com/topic/178200<br> <img src ="http://www.shnenglu.com/zmllegtui/aggbug/112087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zmllegtui/" target="_blank">zml_cnnk</a> 2010-04-09 17:31 <a href="http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软g目需求分析ؓ什么困?/title><link>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112059.html</link><dc:creator>zml_cnnk</dc:creator><author>zml_cnnk</author><pubDate>Fri, 09 Apr 2010 05:32:00 GMT</pubDate><guid>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112059.html</guid><wfw:comment>http://www.shnenglu.com/zmllegtui/comments/112059.html</wfw:comment><comments>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zmllegtui/comments/commentRss/112059.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zmllegtui/services/trackbacks/112059.html</trackback:ping><description><![CDATA[<p><font face="Verdana">有几U原因需求分析变得困难:Q?Q客戯不清楚需求;Q?Q需求自w经常变动;Q?Q分析h员或客户理解有误?/font></p> <p><font face="Verdana"><strong>1 客户说不清楚需?/strong><br><br>有些客户寚w求只有朦胧的感觉Q当然说不清楚具体的需求。例如全国各地的很多政府机构在搞|络Q这些单位的领导和办公h员大多不清楚计算机网l有什么用Q反而要软gpȝ分析人员替他们设想需求。这cdE的需求是如此的主观,以致产生很多贪污腐|现象?br><br>? 些客户心里非常清楚想要什么,但却说不明白。读者可能很不以为然。就举日常生zȝ事例吧,比如说买鞋子。我们非怺解自已的脚,但没法说清楚脚的大小和Ş 状。只能拿鞋子去试Q试I时感觉到舒服才会买鞋(居然也有通广大的售货员,看一眼客L手,q道应该穿什么样的鞋Q?br><br>如果客户本n? 懂Y件开发,能把需求说得清清楚楚,q样的需求分析将会非常轻松、愉快。如果客户全不懂软gQ但信Q软g开发方Q这事也好办。分析h员可以引导客P先阐 q常规的需求,再由客户否定不需要的Q最l确定客L正的需求。最怕的是“不懂装懂”或?#8220;半懂充内?#8221;的客P他们会提Z切实际的需求。如果这些客 L臌得自己是上帝的爸爸,那么沟通和协商都会很困难?/font></p> <p><font face="Verdana"><strong>2 需求自w经常变?/strong><br><br>唐僧曾说Q?#8220;妖要是有了仁慈之心,׃再是妖,是h妖?#8221;Q《大话西怹大圣娶亲》)<br>q妖都会变心Q别说h了。所以喜新厌旧乃Z常情Q世界也因此变得多姿多彩?br>软g的需求会变化吗?<br><br>{:据历史记载,没有一个Y件的需求改动少于三ơ。唯一只改动需求两ơ的客户是个Mh。这个可怜的家伙q是在运送第三次需求的路上被R子撞ȝ。[Cline 1995]<br>让我们先接受“需求会变动”q个事实吧,免得在需求变动时惊慌失措。明?#8220;需求会变动”q个道理后,在进行需求分析时p留点:<br>Q?Q尽可能地分析清楚哪些是E_的需求,哪些是易变的需求。以便在q行pȝ设计ӞY件的核心建筑在稳定的需求上Q否则将会吃苦头?br>Q?Q在合同中一定要说清?#8220;做什?#8221;?#8220;不做什?#8221;。如果合同含含糊p,日后扯皮的事情就多。要防止象韩复渠那样Q在别h请他喝酒吃饭时他什么都点头Qh家就更加献殷勤)Q吃完了他就宣布刚才{应的事都不数Q便扬长而去?/font></p> <p><font face="Verdana"><strong>3 分析人员或客L解有?/strong><br><br>有个外星人间谍潜伏到地球刺探情报Q它l上司写了一份报告:“d地球的是车。它们喝汽aQ靠四个轮子滚动前进。嗓门极大,在夜里双D出强光?#8230;…有趣的是QR里住着一U叫?#8216;?#8217;的寄生虫Q这些寄生虫完全控制了R?#8221;<br><br>? 件系l分析h员不可能都是全才。客戯辄需求,不同的分析h员可能有不同的理解。如果分析h员理解错了,可能会导致开发h员白q活Q吃力不讨好。我M 学时候最怕写作文逃题Q如果逃题了,不管作文写得多长QL零分。所以分析h员写好需求说明书后,要请客户方的各个代表验证。如果问题很复杂Q双斚w不太 明白Q就有必要请开发h员快速构造Y件的原型Q双方再ơ论证需求说明书是否正确?br><br>׃客户大多不懂软gQ他们可能觉得Y件是万能的,会提Z些无法实现的需求。有时客戯会把软gpȝ分析人员的徏议或{复l想歪了?br><br>有一个Y件h员滔滔不l地向客戯解在“信息高速公路上做广?#8221;的种U好处,客户听得z|有味。最后,心动的客户对软g人员_“好得很,p我们马上行动h吧。请您决定广告牌的尺寸和攑֜哪条高速公路上Q我立即zhd?#8221;<br><br>Z么Y件系l分析员的工资要比普通程序员高?是因ؓ需求分析困隑֘?/font></p><img src ="http://www.shnenglu.com/zmllegtui/aggbug/112059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zmllegtui/" target="_blank">zml_cnnk</a> 2010-04-09 13:32 <a href="http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软g目可行性分析的要素http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112058.htmlzml_cnnkzml_cnnkFri, 09 Apr 2010 05:32:00 GMThttp://www.shnenglu.com/zmllegtui/archive/2010/04/09/112058.htmlhttp://www.shnenglu.com/zmllegtui/comments/112058.htmlhttp://www.shnenglu.com/zmllegtui/archive/2010/04/09/112058.html#Feedback0http://www.shnenglu.com/zmllegtui/comments/commentRss/112058.htmlhttp://www.shnenglu.com/zmllegtui/services/trackbacks/112058.html

做可行性分析不能以偏盖全,也不可以什么鸡毛蒜皮的l节都加以权衡。可行性分析必Mؓ决策提供有h值的证据?br>
联想集团领导人柳传志曾说Q?#8220;没钱赚的事我们不qԌ有钱赚但投不起钱的事不干Q有p也投得v׃没有可靠的h选,q样的事也不qӀ?#8221;柳传志ؓ决策立了上述准则Q同时也为可以行性分析指明了重点?br>
一般地QY仉域的可行性分析主要考虑四个要素Q经、技术、社会环境和人。本节只是泛泛地解释q四个要素,旨在建立全局分析的观c?.2节将l合案例围绕上述要素q行重点分析与评注?/font>

l济

l济可行性分析主要包括:“成本——收?#8221;分析?#8220;短期——长q利?#8221;分析?/font>

一、成本——收益分?br>成本——收益分析最Ҏ理解Q如果成本高于收益则表明亏损了,如果成本大大高于收益那就亏大了。商人都不喜Ƣ做吃亏的事情。有些商店成天脓着“最后一天蟩楼大拍卖”的标语,意思是Q我准备吃大亏让你占便宜Q同志,你快上钩吧?br>如果是ؓ客户做Y仉目,那么收益写在合同中。如果是做自q软g产品Q那么收益就是销售额?br>Z在预C品销售额时常常过分乐观而犯下大错。那些对你的产品说恭l话的hq不见得是要买货的人,俗话?#8220;嫌货才是买货?#8221;。当你没到一个挑刺的感觉这产品好得会让你发大胦Ӟp做好会破产的心理准备?br>如果做的是小本生意,那可得对成本q行l算。Y件的成本不是指存放Y件的那张光盘的成本,而是指开发成本。要考虑的成本有Q?br>Q?Q办公室房租?br>Q?Q办公用品,如桌、椅、书柜、照明电器、空调等?br>Q?Q计机、打印机、网l等g讑֤?br>Q?Q电话、传真等通讯讑֤以及通讯费用?br>Q?Q资料费?br>Q?Q办公消耗,如水电费、打印复印费{?br>Q?QY件开发h员与行政人员的工资?br>Q?Q购买系lY件的费用Q如买操作系l、数据库、Y件开发工L。有些老板买盗版的pȝ软gQ却按市Zh成本,可从国佬那里赚一W?br>Q?Q做市场调查、可行性分析、需求分析的交际费用?br>Q?0Q公思h员培训费用?br>Q?1Q品宣传费用。如果用Internet作宣传,则要考虑Web站点的费用?br>Q?2Q如果客h政府部门Q还要充分考虑用于吃喝玩乐、行贿的费用?br>Q?3Q如果公司的风水不好Q会有很多莫名其妙的理贏V每戳一个红艌的公章都要化一把钞?/font>

二、短期——长q利益分?br>Z喜欢吃着里的、看着锅里的,q想着别h安的。短期利益和长远利益兼得是h们梦寐以求的事。在商业上,q等好事可不会轻易降临?br>短期利益Ҏ把握Q风险较低。国内Y件公司经常出CH蜂地去做信息管理系l、多媒体光盘、系l集成项目或Internet服务。每当我们沉q于短期利益不思进取时Q应该好好回忆童q时代那些伟大的pQ给自己一些激励?br>? q利益难以把握,风险较大。能Z长远利益不惜短期亏损的hQ要么是雄心勃勃的将帅之才,要么?#8220;U怸谈兵”?#8220;眼高手底”的那一cd人。国内目前有不少 Internet企业Q只投入不出。ؓ了成将来的怸Q甘愿现在拼财力、比耐性。最后存zM来的几个公司瓜分市场?br>那些为长q利益奋斗的ZQ你们可得把长征的\途走完啊Q千万别让事业中途夭折?/font>

技?/strong>

技术可行性分析至要考虑以下几方面因素:
Q?Q在l定的时间内能否实现需求说明中的功能。如果在目开发过E中遇到难以克服的技术问题,ȝ大了。轻则拖延进度,重则断送项目?br>Q?QY件的质量如何Q有些应用对实时性要求很高,如果软gq行慢如蜗牛Q即便功能具备也毫无实用价倹{有些高风险的应用对软g的正性与_性要求极高,如果软gZ差错而造成客户利益损失Q那么Y件开发方可要赔惨了?br>Q?Q? 软g的生产率如何Q如果生产率低下Q能赚到的钱少Qƈ且会逐渐丧失竞争力。在l计软gȝ开发时间时Q不能漏掉用于维护的旉。Y件维护是非常拖后腿的 事,它能把前期拿到的利润慢慢地消耗光。如果Y件的质量不好Q将会导致维护的代h很高Q企N过偷工减料而提高生产率Q是得不偿失的事?br>技术可行性分析可以简单地表述为:做得了吗Q做得好吗?做得快吗Q?/font>

C会环境

C会环境的可行性至包括两U因素:市场与政{?br>市场又分为未成熟的市场、成熟的市场和将要消亡的市场?br>涉未成熟的市场要冒很大的风险,要尽可能准确C计潜在的市场有多大?自己能占多少份额Q多长时间能实现Q?br>
挤进成熟的市场,虽然风险不高Q但Ҏ也不多。如果供大于求,卌Y件开发公司多Q项目少Q那么在竞标时可能会出现恶性杀L情Ş。国内第一批卖计算机的、做pȝ集成的公司发了胦Q别人眼U了也挤q来Q这个行业的q_利润也就下降了?br>
要消亡的市场就别进M。尽很多程序员怀念DOS时代~程的那U淋漓尽_可现在没DOS应用软g了。学校教学尚可用用DOS软gQ商业Y件公司则不可再去开发DOS软g?br>政策对Y件公司的生存与发展媄响非常大。整?0q代Q中国电信的收费相当高,仅此一招就把国内互联网企业打得奄奄一息。某些Y件行业的利润很高Q但可能存在地方保护政策Q竞争不公q뀂政{不当将ȝ软g公司的健康发展,可最怕的q是政府q预企业的正当行为。例如:
现在家电行业竞争非常Ȁ烈,其中有一个著名企业的总裁十分了得Q把Ҏ打得节节败退。于是中央领gh来视察该企业ƈ作讲话:“你们的业l辉煌,得到了中央的高度重视Q?#8230;…但我们是C会M国家Q不是资本主义国Ӟ你们dl兄弟企业的同志们留口饭吃吧!”

有一ơ我拜访了北京大学一位研I经学的朋友。这个年青hQ还是个党员Q竞然这么说Q?#8220;我最q在研究国内明星企业的兴衰问题,我发C一个规律,明星企业一旦被政府领导察过Q它忘了自己是谁,׃做些走向M的蠢事?#8221;

? 实在不明白企业中Z么还要有“书记”职位。我以ؓ“书记”乃是天下W一号可W的官衔Q?#8220;书记”本是“U书”QsecretaryQ的同义词,是个可有? 无的行政人员的称|在中国竟然成了最大的官衔。每ơ看到新闻联播把国家d错叫成M记我都十分气愤:因ؓM记的U喟只对几千万的党员适用Q国家的? L构难道不面向十多亿普通老百姓?如果我将来的工作单位q靠“书记”来管事,我每天准忙着生气Q那里还有精力去~程?/font>

?/strong>

有句名言Q?#8220;人分四类——h物,人才Qh手,人渣?#8221;
如果一个Y件公叔R上述四类人齐全了Q那么最好的分工是让“人物”当领|“人才”做第一U的开发h员,“人手”做行政h员,“人渣”负责行較?br>
q里只谈公司的领g开发h?#8220;行还是不?#8221;?#8220;人物”毕竟是少敎ͼ“人才”可是济的。D重若ȝ那类“人才”可以做领|举轻若重的那cMh才适合做Y件开发h员。假如一持有学士、硕士和博士文凭的毕业生到Y件公司应聘,该如何录用呢Q我的徏议如下:
先选择本科毕业生,因ؓ他们正当青春、干劲十뀁不摆架子、不M问、要求不高、奉献甚多?br>其次选择士毕业生,如果该生没象范进中D旉么老,q且在读士时没有天天去造文章而丢弃了~程工作Q那么让有经验的学士E序员带他们煅练几个月就可以用了?br>
? 果学士、硕士被其它公司取光了,那只好捡几个博士充数。博士到了Y件公司有什么用呢?我想不出有什么用Q只知道他们挺值得可怜的Q从士d博士出头Q这 六七q时_真本事没学多,倒学?#8220;眼高手低”甚至“弄虚作假”Q毕业时蓦然回首Q发觉青春已被虚度,心灵已呈老态,唯有长叹短嘘Q强把自负作自信。我 也将博士毕业Q就要论Z手贷贱卖了。真慕那些比我q轻的学士、硕士们Q他们可以远走高飞,唉!



zml_cnnk 2010-04-09 13:32 发表评论
]]>
软g目的质量控制要?/title><link>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112057.html</link><dc:creator>zml_cnnk</dc:creator><author>zml_cnnk</author><pubDate>Fri, 09 Apr 2010 05:31:00 GMT</pubDate><guid>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112057.html</guid><wfw:comment>http://www.shnenglu.com/zmllegtui/comments/112057.html</wfw:comment><comments>http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112057.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zmllegtui/comments/commentRss/112057.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zmllegtui/services/trackbacks/112057.html</trackback:ping><description><![CDATA[<p><font face="Verdana">“q行正确”的程序就是高质量的程序吗Q不贪污的官是好官吗?时下? 癑֧对一些腐败的地方政府q恶绝Q对“?#8221;不再有质量期望。只要当官的不贪污,哪怕毫无政l,也算?#8220;好官”。也有一些精明的老百姓打出旗P宁要贪污 犯,不要大笨蛋。相比之下,E序员是够幸的了。因为我们能通过努力Q由自己来把握Y件的命运。那么就不要L攑ּ提高软g质量的权利了?br><br>“q行正确”的程序不见得是高质量的E序。这个程序也许运行速度很低q且费内存Q也总码写得一塌糊涂,除了开发者本也看不懂也不会用。正性只是反映Y件质量的一个因素而已?br><br>? 件的质量因素很多Q如正确性、精性、可靠性、容错性、性能、效率、易用性、可理解性、简z性、可复用性、可扩充性、兼Ҏ等{(q可以列出十几个Q。这 些质量因素之?#8220;你中有我Q我中有?#8221;Q非常缠lc如果程序员每天要面寚w么多质量因素咬文嚼字Q不久就会迂腐得象孔乙已Qƈ且有找不到女朋友的危险?/font></p> <p><font face="Verdana"><strong>1 正确性与_?/strong></font></p> <p><font face="Verdana">正确性与_性之所以排在质量因素的W一位,是因为如果Y件运行不正确或者不_Q就会给用户造成不便 甚至造成损失。机器不会主动欺骗hQY件运行不正确或者不_一般都是h造成的。即使一个Y件能100% 地按需求规格执行,但是如果需求分析错了,那么对客戯言q个软g也存在错误。即佉K求分析完全符合客L要求Q但是如果Y件没?00% 地按需求规格执行,那么q个软g也存在错误。开发一个大的Y仉目,E序员要?#8220;正确”?#8220;_”四个字竭精力?br>与正性、精性相关的质量因素是容错性和可靠性?br><br>定w性首先承认Y件系l存在不正确与不_的因素,Z防止潜在的不正确与不_因素引发NQ系lؓ此设计了安全措施。在一些高风险的Y件系l,如航I天、武器、金融等pȝ中,定w性设计非帔R要?br><br>? 靠性是指在一定的环境下,在给定的旉内,pȝ不发生故障的概率。可靠性本来是g领域的术语。比如某个电子设备,一开始工作很正常Q但׃工作中器件的 物理性质会发生变化(如发热)Q慢慢地pȝ׃失常。所以一个设计完全正的gpȝQ在工作中未必就是可靠的。Y件在q行时不会发生物理性质的变化,? 们常以ؓ如果软g的某个功能是正确的,那么它一辈子都是正确的。可是我们无法对软gq行d地测试,无法栚w软g中潜在的错误。^时Y件运行得好好的,? 不准哪一天就不正怺Q如“2000q?#8221;问题。因此把可靠性引入Y仉域是有意义的。我曾买了一本关于Y件可靠性的著作Q此书充满了数学公式。我发现以我 目前的学历实在难以看懂书上讲了些什么。请宽恕我的愚昧Q我把此书给“?#8221;hQ没敢用W画一处记受?/font></p> <p><font face="Verdana"><strong>2 性能与效?/strong></font></p> <p><font face="Verdana">用户都希望Y件的q行速度高些Q高性能Q,q且占用资源些Q高效率Q。旧C会C是q么对待长工 的:q活要快点,吃得要少炏V程序员可以通过优化法、数据结构和代码l织来提高Y件系l的性能与效率。优化的关键工作是找出限制性能与效率的“瓉”Q? 不要在无关痛痒的地方瞎忙乎。如果你惌U升得快Q光靠增加课时能屁用;你就该一q写它几十篇文章Q争取破格升教授?/font></p> <p><font face="Verdana"><strong>3 易用?/strong></font></p> <p><font face="Verdana">易用性是指用h觉用Y件的难易E度。用户可能是操作软g的最l用P也可能是那些要用源代码的程序员。现代h的生z节奏快Q干啥事都想图个方便。所以把易用性作为重要的质量因素无可非议?br><br>? 致Y件易用性差的根本原因是开发h员犯?#8220;错位”的毛病:他以为只要自qh方便Q用户也一定会满意。俗话说“王婆卖瓜Q自卖自?#8221;。当E序员向用户? CY件时Q常会得意地Ԍ“q个软g非常好用Q我操作l你看,……是很好用吧!”软g的易用性要让用h评h。当用户真的感到软g很好用时Q一股温暖的? 觉a然而生Q于是就?#8220;友好”来评h用性?/font></p> <font face="Verdana"> </font> <p><font face="Verdana"><br><strong>4 可理解性与z?/strong></font></p> <p><font face="Verdana">可理解性表达了Z一U质朴的愿望Q我化钱C它,d让我明白它是什么东ѝ我时候的一个伙伴在M学时Q就因无法理解电荷之分正负,觉得很烦|便早早地~学当工h?br>? 理解性也是对用户而言的。开发h员只有在自己思\清晰时才可能写出让别理解的程序。编E时q要注意不可滥用技巧,应该用自然的方式~程。我们的不? 道自q得意之DI竟是锦上添花,q是画蛇添。就象蒸ZW馒_在上面插一朵鲜花,本想弄点诗情LQ却让h误以为那是一堆热气腾腄牛粪?/font></p> <p><font face="Verdana">z是一U美Q不是自己q是用户都会有同感。在生活中,与简z对立的?#8220;|里|嗦”。中国小说中最“ 婆婆妈妈”的男人是唐僧。有一Ҏ意调查:如果世上只有唐僧、孙悟空、猪八戒和沙僧这四类男hQ你要嫁l哪一c?请列Z先。调查结果表明,Cx毫 不例外地把唐僧摆在老末。一个原始的应用问题可能很复杂,但高水^的hp够把软gpȝ设计得很z。如果Y件系l臃肿不堪,它迟早会出问题。简z是Z 对工?#8220;_求精”的结果?/font></p> <p><font face="Verdana">废话大师有句名言Q?#8220;如果我o你过于轻村֜明白了,那你一定是误解了我说的话?#8221;我最q有一U奇怪的? 会:如果把学术文章写得很z,让h很容易理解,它往往中不了;只有加上一些玄乎的东西Q把本来单的弄成复杂的,才会增加投稿的命中率。事实上Q我可以 ?分钟之内说清楚三q来d所做的工作Q根本用不着?00多页的博士论文。我是在临近毕业Ӟ才发觉自己完全不适合d士学位。将来工作后Q我一定要 好好~程Q重新做人?/font></p> <p><font face="Verdana"><br><strong>5 可复用性与可扩充?/strong></font></p> <p><font face="Verdana">复用的一U方式是原封不动C用现成的软构Ӟ另一U方式是对现成的软构件进行必要的扩充后再使用。可复用性好的程序一般也h良好的可扩充性?/font></p><img src ="http://www.shnenglu.com/zmllegtui/aggbug/112057.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zmllegtui/" target="_blank">zml_cnnk</a> 2010-04-09 13:31 <a href="http://www.shnenglu.com/zmllegtui/archive/2010/04/09/112057.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用的bat命o和用?/title><link>http://www.shnenglu.com/zmllegtui/archive/2010/04/08/111934.html</link><dc:creator>zml_cnnk</dc:creator><author>zml_cnnk</author><pubDate>Thu, 08 Apr 2010 03:10:00 GMT</pubDate><guid>http://www.shnenglu.com/zmllegtui/archive/2010/04/08/111934.html</guid><wfw:comment>http://www.shnenglu.com/zmllegtui/comments/111934.html</wfw:comment><comments>http://www.shnenglu.com/zmllegtui/archive/2010/04/08/111934.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.shnenglu.com/zmllegtui/comments/commentRss/111934.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zmllegtui/services/trackbacks/111934.html</trackback:ping><description><![CDATA[<p><span style="COLOR: #00ff00"><strong style="FONT-SIZE: 18pt">Part One:</strong></span><br><br>echo、@、call、pause、rem 是批处理文g最常用的几个命令,我们׃他们开始学赗?<br><br>echo 表示昄此命令后的字W?<br>echo off 表示在此语句后所有运行的命o都不昄命o行本w?<br>@ 与echo off相象Q但它是加在其它命o行的最前面Q表C行时不显C命令行本n?<br>call 调用另一条批处理文gQ如果直接调用别的批处理文g Q执行完那条文g后将无法执行当前文g后箋命oQ?<br>pause q行此句会暂停,昄Press any key to continue... {待用户按Q意键后l?<br>rem 表示此命令后的字Wؓ解释行,不执行,只是l自׃后查扄的(::W号h同样效果Q?br><br>例:根目录中所有文件写入a.txt中,启动UCDOSQ进入WPS{功能?<br>批处理文件的内容? 文g表示Q?<br>echo off                               不显C命令行 <br>dir c:\*.* >a.txt                    c盘文件列表写入a.txt <br>call c:\ucdos\ucdos.bat         调用ucdos <br>echo 你好                           昄"你好" <br>pause                                   暂停,{待按键l箋 <br>rem 使用wps                      注释用wps <br>cd ucdos                             q入ucdos目录 <br>wps                                     使用wps <br><br>批处理文件中q可以像C语言一样用参敎ͼq只需用到一个参数表C符%?<br>%表示参数Q参数是指在q行批处理文件时在文件名后加的字W串。变量可以从 %0?9Q?0表示文g名本w,字符串用%1?9序表示?<br>例如Qc: 根目录下一批处理文件名为f.batQ内容ؓ format %1 <br>则如果执行c:\>f a: 则实际执行的是format a: <br>又如c: 根目录下一批处理文件的名ؓt.batQ内容ؓ type %1 type %2 <br>那么q行c:\>t a.txt b.txt 顺序地昄a.txt和b.txt文g的内?<br><br>if goto choice for 是批处理文g中比较高U的命oQ如果这几个你用得很熟练Q你是批处理文件的专家啦?<br><br>if 表示判断是否符合规定的条gQ从而决定执行不同的命o?有三U格? <br>1、if [not] "参数" == "字符? 待执行的命o <br>参数如果{于指定的字W串Q则条g成立Q运行命令,否则q行下一句?注意是两个等P <br>如if "%1"=="a" format a: <br>2、if exist 文g?待执行的命o <br>如果有指定的文gQ则条g成立Q运行命令,否则q行下一句。如if exist config.sys edit config.sys <br>3、if errorlevel 数字 待执行的命o <br>如果q回码等于指定的数字Q则条g成立Q运行命令,否则q行下一句。如if errorlevel 2 goto x2 DOSE序q行旉会返回一个数字给DOSQ称为错误码errorlevel或称q回?<br><br>goto 批处理文件运行到q里蟩到goto 所指定的标号处Q?一般与if配合使用?<br>? <br>goto end <br>:end <br>echo this is the end <br>标号?:字符?表示Q标h在行不被执行 <br><br>choice 使用此命令可以让用户输入一个字W,从而运行不同的命o。用时应该?c:参数Qc:后应写提C可输入的字W,之间无空根{它的返回码?234…… <br>? choice /c:dme /m:"defrag,mem,end" <br>显C?<br>defrag,mem,end[D,M,E]? <br>例如Qtest.bat的内容如? <br>@echo off <br>choice /c:dme /m:"defrag,mem,end" <br>if errorlevel 3 goto end                                <==应先判断数值最高的错误?<br>if errorlevel 2 goto mem <br>if errotlevel 1 goto defrag <br>:defrag <br>c:\dos\defrag <br>goto end <br>:mem <br>mem <br>goto end <br>:end <br>echo good bye <br>此文件运行后Q将昄 defrag,mem,end[D,M,E]? 用户可选择d m e Q然后if语句作出判断,d表示执行标号为defrag的程序段Qm表示执行标号为mem的程序段Qe表示执行标号为end的程序段Q每个程序段最后都以goto end程序蟩到end标号处,然后E序显Cgood byeQ文件结束?<br><br>for 循环命oQ只要条件符合,它将多次执行同一命o?<br>格式FOR [%%f] in (集合) DO [命o] <br>只要参数f在指定的集合内,则条件成立,执行命o <br>如果一条批处理文g中有一? <br>for %%c in (*.bat *.txt) do type %%c <br>含义是如果是以bat或txtl尾的文Ӟ则显C文件的内容?<br><br>autoexec.bat:<br>DOS在启动会自动q行autoexec.batq条文gQ一般我们在里面装蝲每次必用的程序,? path(讄路径)、smartdrv(盘加??mouse(鼠标启动)、mscdex(光驱q接)?doskey(键盘理)、set(讄环境变量){?<br>如果启动盘根目录中没有这个文Ӟ电脑会让用户输入日期和时间?<br>例如Q一个典型的autoexec.bat内容如下: <br>@echo off                                                           不显C命令行 <br>prompt $p$g                                                       讄提示W前有目录提C?<br>path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools           讄路径 <br>lh c:\dos\doskey.com                                           加蝲键盘理 <br>lh c:\mouse\mouse.com                                        加蝲鼠标理 <br>lh c:\dos\smartdrv.exe                                          加蝲盘加速管?<br>lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V        加蝲CD-ROM驱动 <br>set temp=c:\temp                                                 讄临时目录 <br><br><span style="FONT-SIZE: 18pt; COLOR: #00ff00"><strong>Part Two:</strong></span> <br><br>if 命o详解Q?/p> <p>详细出处参考:<a ><u><font style="COLOR: #ffffff" color=#800080>http://www.jb51.net/article/14986.htm</font></u></a></p> <p>主要用来判断Q?br>1、两?#8220;字符?#8221;是否相等Q?br>2、两个数值是大于、小于、等?然后执行相应的命令?<br>当然q有Ҏ用法Q如l合errorlevelQif errorlevel 1 echo error <br>或者结合definedQ定义的意思):if defined test (echo It is defined) else echo It isn't defined <br>用法CZQ?<br><br>1、检字W串(注意Q用if字W串是否相等的时候,后面用的不是“=”Q而是“==”)Q?</p> <p>@echo off <br>set "str=this is a test" <br>REM 变?str%是否{于testQ如果相{,昄OKQ否则显CNO <br>if "%str%"=="test" (echo OK) else echo NO <br>pause>nul </p> <p>2、检数|Q注意,批处理中大于W号不能用:“>”,而用"gtr"Q其它的也类| <br>比较q算W一览: <br>equ - {于 <br>neq - 不等?nbsp;<br>lss - 于 <br>leq - 于或等?nbsp;<br>gtr - 大于 <br>geq - 大于或等?nbsp;<br><br>@echo off <br>set /a num1=20 <br>set /a num2=15 <br>if %num1% gtr %num2% echo %num1%大于%num2% <br>if %num1% EQU %num2% echo %num1%{于%num2% <br>if %num1% LSS %num2% echo %num1%于%num2% <br>pause>nul </p> <p>3、ifl合errorlevel使用Q?<br>说明Q环境变量errorlevel的初始gؓ0Q当一些命令执行不成功Q就会返回一个数|如:1 Q? {?<br>IF-ERRORLEVEL <br>试代码Q?</p> <p>@ECHO OFF <br>XCOPY F:\test.bat D:\ <br>IF ERRORLEVEL 1 ECHO 文g拯p| <br>IF ERRORLEVEL 0 ECHO 成功拯文g </p> <p>如果文g拯成功Q屏q就会显C?#8220;成功拯文g”Q否则就会显C?#8220;文g拯p|”?<br>IF ERRORLEVEL 是用来测试它的上一个DOS命o的返回值的Q注意只是上一个命令的q回|而且q回值必M照从大到次序顺序判断?<br>因此下面的批处理文g是错误的Q?<br>@ECHO OFF <br>XCOPY C:\AUTOEXEC.BAT D:\ <br>IF ERRORLEVEL 0 ECHO 成功拯文g <br>IF ERRORLEVEL 1 ECHO 未找到拷贝文?<br>IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拯操作 <br>IF ERRORLEVEL 3 ECHO 预置错误L文g拯操作 <br>IF ERRORLEVEL 4 ECHO 拯q程中写盘错?<br>无论拯是否成功Q后面的Q?<br>未找到拷贝文?<br>用户通过ctrl-c中止拯操作 <br>预置错误L文g拯操作 <br>拯q程中写盘错?<br>都将昄出来?</p> <p>附录Q?<br>以下是几个常用命o的返回值及其代表的意义Q?<br>backup <br>0 备䆾成功 <br>1 未找到备份文?<br>2 文g׃n冲突L备䆾完成 <br>3 用户用ctrl-c中止备䆾 <br>4 ׃致命的错误备䆾操作中止 <br>diskcomp <br>0 盘比较相?<br>1 盘比较不?<br>2 用户通过ctrl-c中止比较操作 <br>3 ׃致命的错误比较操作中止 <br>4 预置错误中止比较 <br>diskcopy <br>0 盘拷贝操作成?<br>1 非致命盘?写错 <br>2 用户通过ctrl-cl束拯操作 <br>3 因致命的处理错误使盘拯中止 <br>4 预置错误L拯操作 <br>format <br>0 格式化成?<br>3 用户通过ctrl-c中止格式化处?<br>4 因致命的处理错误使格式化中止 <br>5 在提C?#8220;proceed with formatQy/nQ?”下用户键入nl束 <br>xcopy <br>0 成功拯文g <br>1 未找到拷贝文?<br>2 用户通过ctrl-c中止拯操作 <br>4 预置错误L文g拯操作 <br>5 拯q程中写盘错?</p> <p>4、ifq有一个特D的用法是可以用来某个变量是否已l被定义 <br>用法CZQ?</p> <p>@echo off <br>set "str1=ok" <br>set "str2=no" <br>if defined str1 echo str1已经被定?<br>if defined str2 echo str2已经被定?<br>if defined str3 (echo str3已经被定? else echo str3 没有被定?<br>pause>nul</p> <img src ="http://www.shnenglu.com/zmllegtui/aggbug/111934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zmllegtui/" target="_blank">zml_cnnk</a> 2010-04-08 11:10 <a href="http://www.shnenglu.com/zmllegtui/archive/2010/04/08/111934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Void and void pointerhttp://www.shnenglu.com/zmllegtui/archive/2009/11/22/101630.htmlzml_cnnkzml_cnnkSun, 22 Nov 2009 08:14:00 GMThttp://www.shnenglu.com/zmllegtui/archive/2009/11/22/101630.htmlhttp://www.shnenglu.com/zmllegtui/comments/101630.htmlhttp://www.shnenglu.com/zmllegtui/archive/2009/11/22/101630.html#Feedback6http://www.shnenglu.com/zmllegtui/comments/commentRss/101630.htmlhttp://www.shnenglu.com/zmllegtui/services/trackbacks/101630.html         
         1.概述

  许多初学者对C/C++语言中的void及void指针cd不甚理解Q因此在使用上出C一些错误。本文将对void关键字的深刻含义q行解说Qƈ详述void及void指针cd的用方法与技巧?br>
  2.void的含?/strong>

  void的字面意思是“无类?#8221;Qvoid *则ؓ“无类型指?#8221;Qvoid *可以指向Mcd的数据?br>
  void几乎只有“注释”和限制程序的作用Q因Z来没有h会定义一个void变量Q让我们试着来定义:

void a;

  q行语句~译时会出错Q提C?#8220;illegal use of type 'void'”。不q,即void a的编译不会出错,它也没有M实际意义?br>
  void真正发挥的作用在于:

  Q?Q对函数q回的限定;

  Q?Q对函数参数的限定?br>
  我们在W三节对以上二点q行具体说明?br>
  众所周知Q如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋|如果p1和p2指向不同的数据类型,则必M用强制类型{换运符把赋D符双的指针类型{换ؓ左边指针的类型?

  例如Q?br>
float *p1;
int *p2;
p1 = p2;

  其中p1 = p2语句会编译出错,提示“'=' : cannot convert from 'int *' to 'float *'”Q必L为:

p1 = (float *)p2;

  而void *则不同,Mcd的指针都可以直接赋值给它,无需q行强制cd转换Q?

void *p1;
int *p2;
p1 = p2;

  但这q不意味着Qvoid *也可以无需强制cd转换地赋l其它类型的指针。因?#8220;无类?#8221;可以包容“有类?#8221;Q?#8220;有类?#8221;则不能包?#8220;无类?#8221;。道理很单,我们可以?#8220;男h和女人都是h”Q但不能?#8220;人是男h”或?#8220;人是女h”。下面的语句~译出错Q?br>
void *p1;
int *p2;
p2 = p1;

  提示“'=' : cannot convert from 'void *' to 'int *'”?br>
3.void的?br>
  下面l出void关键字的使用规则Q?br>
  规则一如果函数没有q回|那么应声明ؓvoidcd

  在C语言中,凡不加返回值类型限定的函数Q就会被~译器作回整型值处理。但是许多程序员却误以ؓ其ؓvoidcd。例如:

add ( int a, int b )
{
return a + b;
}
int main(int argc, char* argv[])
{
printf ( "2 + 3 = %d", add ( 2, 3) );
}

  E序q行的结果ؓ输出Q?br>
  2 + 3 = 5

  q说明不加返回D明的函数的确为int函数?br>
  林锐博士《高质量C/C++~程》中提到Q?#8220;C++语言有很严格的类型安全检查,不允怸q情况(指函C加类型声明)发生”。可是编译器q不一定这么认定,譬如在Visual C++6.0中上qadd函数的编译无错也无警告且q行正确Q所以不能寄希望于编译器会做严格的类型检查?br>
  因此Qؓ了避免؜乱,我们在编写C/C++E序Ӟ对于M函数都必M个不漏地指定其类型。如果函数没有返回|一定要声明为voidcd。这既是E序良好可读性的需要,也是~程规范性的要求。另外,加上voidcd声明后,也可以发挥代码的“自注?#8221;作用。代码的“自注?#8221;即代码能自己注释自己?br>
  规则二如果函数无参数Q那么应声明其参Cؓvoid

  在C++语言中声明一个这L函数Q?br>
int function(void)
{
return 1;
}

  则进行下面的调用是不合法的:

function(2);

  因ؓ在C++中,函数参数为void的意思是q个函数不接受Q何参数?br>
  我们在Turbo C 2.0中编译:

#include "stdio.h"
fun()
{
return 1;
}
main()
{
printf("%d",fun(2));
getchar();
}

  ~译正确且输?Q这说明Q在C语言中,可以l无参数的函C送Q意类型的参数Q但是在C++~译器中~译同样的代码则会出错。在C++中,不能向无参数的函C送Q何参敎ͼ出错提示“'fun' : function does not take 1 parameters”?br>
  所以,无论在Cq是C++中,若函C接受M参数Q一定要指明参数为void?br>
  规则三小心用void指针cd

  按照ANSI(American National Standards Institute)标准Q不能对void指针q行法操作Q即下列操作都是不合法的Q?br>
void * pvoid;
pvoid++; //ANSIQ错?br>pvoid += 1; //ANSIQ错?br>//ANSI标准之所以这栯定,是因为它坚持Q进行算法操作的指针必须是确定知道其指向数据cd大小的?br>//例如Q?br>int *pint;
pint++; //ANSIQ正?/td>

  pint++的结果是使其增大sizeof(int)?br>
  但是大名鼎鼎的GNU(GNU's Not Unix的羃?则不q么认定Q它指定void *的算法操作与char *一致?br>
  因此下列语句在GNU~译器中皆正:

pvoid++; //GNUQ正?br>pvoid += 1; //GNUQ正?/td>

  pvoid++的执行结果是其增大了1?br>
  在实际的E序设计中,合ANSI标准Qƈ提高E序的可UL性,我们可以q样~写实现同样功能的代码:

void * pvoid;
(char *)pvoid++; //ANSIQ正;GNUQ正?br>(char *)pvoid += 1; //ANSIQ错误;GNUQ正?/td>

  GNU和ANSIq有一些区别,M而言QGNU较ANSI?#8220;开?#8221;Q提供了Ҏ多语法的支持。但是我们在真实设计Ӟq是应该可能地q合ANSI标准?br>
  规则四如果函数的参数可以是Q意类型指针,那么应声明其参数为void *

  典型的如内存操作函数memcpy和memset的函数原型分别ؓQ?br>
void * memcpy(void *dest, const void *src, size_t len);
void * memset ( void * buffer, int c, size_t num );

  q样QQ何类型的指针都可以传入memcpy和memset中,q也真实CC内存操作函数的意义,因ؓ它操作的对象仅仅是一片内存,而不片内存是什么类型。如果memcpy和memset的参数类型不是void *Q而是char *Q那才叫真的奇怪了Q这Lmemcpy和memset明显不是一?#8220;Ua的,q低񔭑味?#8221;函数Q?br>
  下面的代码执行正:

//CZQmemset接受Lcd指针
int intarray[100];
memset ( intarray, 0, 100*sizeof(int) ); //intarray?
//CZQmemcpy接受Lcd指针
int intarray1[100], intarray2[100];
memcpy ( intarray1, intarray2, 100*sizeof(int) ); //intarray2拯lintarray1

  有趣的是Qmemcpy和memset函数q回的也是void *cdQ标准库函数的编写者是多么地富有学问啊Q?br>
  规则?void不能代表一个真实的变量

  下面代码都企图让void代表一个真实的变量Q因此都是错误的代码Q?br>
void a; //错误
function(void a); //错误

  void体现了一U抽象,q个世界上的变量都是“有类?#8221;的,譬如一个h不是男h是女hQ还有h妖?Q?br>
  void的出现只是ؓ了一U抽象的需要,如果你正地理解了面向对象中“抽象基类”的概念,也很Ҏ理解void数据cd。正如不能给抽象基类定义一个实例,我们也不能定义一个voidQ让我们cL的称void?#8220;抽象数据cd”Q变量?br>
  4.ȝ

  小的void蕴藏着很丰富的设计哲学Q作Z名程序设计h员,寚w题进行深一个层ơ的思考必然我们受益匪浅


zml_cnnk 2009-11-22 16:14 发表评论
]]>Type Attribute alignedhttp://www.shnenglu.com/zmllegtui/archive/2009/11/22/101617.htmlzml_cnnkzml_cnnkSun, 22 Nov 2009 06:28:00 GMThttp://www.shnenglu.com/zmllegtui/archive/2009/11/22/101617.htmlhttp://www.shnenglu.com/zmllegtui/comments/101617.htmlhttp://www.shnenglu.com/zmllegtui/archive/2009/11/22/101617.html#Feedback0http://www.shnenglu.com/zmllegtui/comments/commentRss/101617.htmlhttp://www.shnenglu.com/zmllegtui/services/trackbacks/101617.html 

Type attribute aligned allows you to specify the alignment of a structure, class, union, or enumeration. The syntax and considerations for specifying alignment factor are the same as for variable attribute aligned. Like variable attribute aligned, type attribute aligned can only increase alignment. Type attribute packed is used to decrease alignment.

If the attribute appears immediately after the class, struct, union, or enumeration token or immediately after the closing right curly brace, it applies to the type identifier. It can also be specified on a typedef declaration. In a variable declaration, such as

class A {} a;

the placement of the type attribute can be confusing.

In the following definitions, the attribute applies to A:

struct __attribute__((__aligned__(8))) A {};
struct A {} __attribute__((__aligned__(8))) ;
struct __attribute__((__aligned__(8))) A {} a;
struct A {} __attribute__((__aligned__(8))) a;
typedef struct __attribute__((__aligned__(8))) A {} a;
typedef struct A {} __attribute__((__aligned__(8))) a;

In the following definitions, the attribute applies to a:

__attribute__((__aligned__(8))) struct A {} a;
struct A {} const __attribute__((__aligned__(8))) a;
__attribute__((__aligned__(8))) typedef struct A {} a;
typedef __attribute__((__aligned__(8))) struct A {} a;
typedef struct A {} const __attribute__((__aligned__(8))) a;
typedef struct A {} a __attribute__((__aligned__(8)));


zml_cnnk 2009-11-22 14:28 发表评论
]]>
þҹ³˿Ƭϼ| Ʒ99þþþ| 99þùں;Ʒ1ӳ| ޾Ʒþþþϼ| þӰԺۺϾƷ| һۺϾþ| ɫ͵͵͵þ˴ý| ۺϾþúݺɫ99h| 99ƷѾþþþþ| þùƷһƷ| þAVij| ƷþþĻѿ| þþþþaŷa| 99þùۺϾƷ| ˾Ʒþ| 77777ҹþö| ձþþվ| þݺҹҹav˳| ɫþþۺ| ŷ޾Ʒ˾þ| þݹƷһ| þ99Ʒ| ɫͷվþ| ŷƷþø| ݺ޾þþþþۺ| þó˾ƷƵ| ˾þþƷһ| ɫþþþþþС˵| ۺϾþһ| ھƷŷþþƷ| 66ƷۺϾþþþþþ| ƷþþþþӰԺ | ƷþþĻѿ| ƷŮþþ| þ96Ʒþþ| þ99Ʒһ| þԭavapp| av˾þۺɫ| þۺɫݺ| ޹˾Ʒ91þþ| ˾þۺij|