GW-BASIC

✍ dations ◷ 2025-07-21 05:05:49 #GW-BASIC

GW-BASIC是高级程式设计语言BASIC的一个方言版本。这个版本的BASIC最早是微软为康柏开发的,时间应该是在1984年,这一年11月,微软首次为IBM之外的计算机厂商提供OEM版本的DOS,GW-BASIC是作为MS-DOS的一个组成部分问世的。

GW-BASIC在MS-DOS发行版本中,于1991年6月由微软的QBasic所取代。应社群要求公开GW-BASIC源代码,因此2020年5月22日微软开源1983年2月10日的8088组合语言版本(体验) (页面存档备份,存于互联网档案馆)。

关于GW的含义,目前有三种说法,一种认为是以微软早期程序员Greg Whitten的名字命名的,一种认为是用微软创始人的名字Gates,William命名的,还有一种说法是开发人员给它取的一个戏称gee-whiz(两个英语的象声词,类似于中文里吆喝牲口的声音)。

GW-BASIC和微软提供给IBM PC的BASICA完全相容,所不同的是,后者依赖于ROM中的BASIC直译器,而前者并不需要,所以,GW-BASIC能在众多IBM PC相容机器上运行,这就使它的使用范围随着PC相容机器的推广而扩大。第一个流传范围较广的GW-BASIC版本号为2.0,而最后推出的GW-BASIC版本号为3.23,时间大概是1988年。从那时起,如果没有特殊说明,我们一般所说的GW-BASIC就是指的这个版本。

GW-BASIC运行速度较慢,这在很大程度上是因为它是一种互动式的开发工具——这种开发模式是BASIC的诞生地Dartmouth大学最早提出的。和很多早期的BASIC方言一样,GW-BASIC缺乏很多进行结构化编程所需的语法成分,但是它足够灵活,此外还拥有很多绘图语句和一些简单的发声语句,这就足以使一个程序员用它开发一个简单的游戏软件、商用软件或者诸如此类的东西。它能够在绝大多数PC上运行,这就给那些想要成为程序员的人提供了一个学习如何程式设计的廉价的途径。

GW-BASIC拥有一个简单的集成开发环境(IDE),所有的程式码都必须有一个行号,没有行号的语句被认为是需要立即执行的命令。用户界面中,除萤幕底部的功能快捷键描述和顶部的版权声明外,其他部分都用来显示和编写语句。源文件标准的保存格式是GW-BASIC特有的二进制压缩格式,不过它也提供了一个选项,使得开发者可以用ASCII纯文字格式保存原始文件。GW-BASIC的IDE提供了如下常用命令:RUN(执行目前的程式),LOAD(从磁盘载入源代码),SAVE(把程式储存到磁盘),LIST(显示已打开的程式码内容),SYSTEM(回到操作系统)。它们都可以出现在程式码上,不过除SYSTEM外,上述用法还相当少见。

前面提到,GW-BASIC对结构化程序设计方法的支持非常差,所以对GW-BASIC程式设计者来讲,能够用它写出具备良好结构的程式有很高的难度。在GW-BASIC里,IF/THEN/ELSE条件语句必须在一行内写完,尽管WHILE/WEND已允许包含多行代码;自行定义的函数只能用类似于DEF FNf(x) = <关于x的数学函数> 这样形式的一行语句来编写(例如,DEF FNLOG(base,number)=LOG(number)/LOG(base));变数通常是通过变数名末端的一个表示类型的符号来确定其类型的:A$表示是一个字串,A%表示是一个整数,等等;通过使用DEFINT,DEFSTR等关键字,可以为一组使用相同字首的变数定义预设类型;其他变数其类型预设是单精度浮点数。

尽管GW-BASIC本身不支持结构化的编程,但编程者自己可以利用GOSUB和RETURN语句来实现相当于C语言中的函数调用,同时用DIM语句定义的数组和一个下标变量(可能需要定义更多,以应对INTEGER、STRING等多种不同数据类型)来表示函数参数栈,再用另一个数组和下标变量,用于在调用子函数前保存本函数的本地变量。通过这种方法,即可实现函数调用。

很多GW-BASIC程式设计者都是没有经过训练的,他们往往不明白编写结构简单的程式所能带来的好处,因此就导致滥用GOTO语句的现象,他们往往不愿意使用能完成同样功能的结构化的语句。参见面条式代码。

GW-BASIC支援摇杆和光笔输入设备(英语:Light pen),但不支持鼠标。它能够读写磁盘档案、LPT埠和COM埠,也能处理埠事件触发,不过不能处理磁带设备。它还能通过使用PLAY语句或SOUND语句来驱动IBM PC及其相容机器的标准内建喇叭发出声音。

相关

  • 引发酶引发酶(英语:primase,或译为引子酶,引物酶)是指在DNA复制的起始阶段合成单链RNA引物的RNA聚合酶,引物合成后,DNA聚合酶会沿着引物继续合成单链DNA(延伸),此后RNA引物片段会被外切酶5'
  • 八卦里八卦里,是高雄市仁武区人口数最多的里,近年因工业发展,加上政府投入许多重大建设,包含交通、防洪、土地重划及公园绿地景观等,人口成长快速。里内草潭埤为爱河源头,配合爱河整治最
  • 2016年夏季奥林匹克运动会男子100米仰泳比赛2016年夏季奥林匹克运动会男子100米仰泳比赛为2016年夏季奥林匹克运动会游泳比赛的其中一项竞赛项目,赛事于2016年8月7日至8月8日在奥林匹克水上运动中心中举行。以下是比赛
  • 和泉Tsubasu和泉つばす(5月8日-)是日本女性插画家。主要担当十八禁美少女游戏的原画和人物设计等工作。岐阜县出身,现在住在爱知县。
  • 金甲虫奖金甲虫奖(瑞典语:Guldbagge)是瑞典1964年设立,由瑞典电影学院每年颁发的奖项。金甲虫奖1964年9月25日在斯德哥尔摩大饭店(Grand Hôtel)举行颁奖典礼,当年英格玛·伯格曼以其著作《
  • 科纳纳库恩泰科纳纳库恩泰(Konanakunte),是印度卡纳塔克邦Bangalore县的一个城镇。总人口13262(2001年)。该地2001年总人口13262人,其中男性7110人,女性6152人;0—6岁人口1494人,其中男790人,女704
  • 伯特勒尼乡坐标:.mw-parser-output .geo-default,.mw-parser-output .geo-dms,.mw-parser-output .geo-dec{display:inline}.mw-parser-output .geo-nondefault,.mw-parser-output .geo-multi-punct{display:none}.mw-parser-output .longitude,.mw-parser-output .latitude{white-space:n
  • 大和国大和国(日语:大和国〔大和國〕/やまと の くに  */?),日本古代的令制国之一,属畿内五国之一,又称“和州”,古称“倭”、“大倭”、“大养德”,在《延喜式》中国力属于大国,领域大约相当于现代的奈良县。大和国古称“倭”、“大倭”、“大养德”,发音都是相同的“Yamato”(ヤマト)。根据《续日本纪》的记载,奈良时代中的天平九年十二月廿七日(公元738年1月21日),朝廷将“大倭国”改称“大养德国”。天平宝字元年(公元757年),“大养德国”改称“大和国”。根据《古事类苑》、《释日本纪》的说法,传说天地开
  • 盛礼洪盛礼洪(1926年1月-2022年5月13日),男,浙江吴兴人,中国作曲家,1947年毕业于国立音乐学院,1949年至1963年担任中央音乐学院教师,1963年后成为中央乐团创作组一级作曲,曾参与钢琴协奏曲《黄河》的创作改编。最终因病在北京去世。
  • BRDBRD可能指: