Ⅰ 如何编写游戏
问题一:如何编写简单的游戏程序? stone.cpp
#include
#include
#include
#include
#include
#include
#include
const int Timer=0x1c;
int count;
int board[20][10];
const int ESC=0x11b,ENTER=0x1c0d,
UP=0x4800,DOWN=0x5000,LEFT=0x4b00,RIGHT=0x4d00;
void *** yze(int shapeNum,int (*result)[2]);
void drawShape(int screenX,int screenY,int shapeNum,int fillColor);
void prepare();
void interrupt (*oldHandle)(...);
void interrupt newHandle(...);
void setNewVect();
void recoverOldVect();
int afterChange(int boardX,int boardY,int shapeNum,int key);
int deleteRow(int boardX,int shapeNum);
int rowFull(int row);
void fillBoard(int boardX,int boardY,int shapeNum);
void main()
{ int driver,mode,errorCode;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,);
errorCode=graphresult();
if(errorCode){
cerr 8410,5421,9540,6510,8541,6541,8540,5210,9541};
randomize(); ......>>
问题二:怎么编写一个游戏 要编写游戏,首先得学会几门编程语言. 编程主要语言有:C#,VisualC ,VisualBasic,Delphi...等. 如果是新手,建议学VisualBasic6.0 下面简单介绍一下VisualBasic. 随着VisualBasic的逐步发展完善和功能的不断括展,很多软件开发人员利用VisualBasic开发了大量的应用软件。VisualBasic已经成为使用人数最多,应用领域最广的程序设计语言和软件开发工具. 特点: 1.面向对象和可视化的程序设计. VisualBasic实现了对象的封装,是程序员只需把注意力集中到对象的设计.特别是对程序界面的设计. 2.事件驱动的运行机制. VisualBasic程序是在Windwos环境下开发的,因此其运行机制是事件驱动的。也就是只有发生某个动作 (如按下某键,鼠标移动等动作时发生的变化等),才会执行相应的程序段.这种机制使人机交互更为方便,程序的功能大大加强,也为多任务运行方式提供了保证. 3.结构化的程序设计语言. 在程序结构方面,VisualBasic继承了QBasic的所有优点,不但完全符合结构化程序设计的要求,而且具有较 强的数值运算和字符串的处理能力. 4.多种数据库访问能力. VisualBasic具有很强的数据库访问能力,不但能方便的处理诸如VisualFoxFro,Access,等小型数据库 中的数据,还可以轻松访问MicrosoftSQLServer等大中型数据库中的数据. 5.提供了功能完备的应用程序集成开发环境. VisualBasic的集成开发环境用户界面,代码编写,调试运行和编译打包等诸多功能于一体,为程序员提供了一 整套功能强大的应用程序开发环境. 6.方便使用的联机帮助功能. 利用集成开发环境中的帮助菜单或F1功能键,用户可以随时获取和查阅有关的帮助信息(MSDN). 其易学易用,是新手的最好选择. VisualBasic6.0_SP6中文大企业版: 119.147.41.16/...1F7612
问题三:怎么编程游戏 5分 人能识别有意义的字母、数字组合,就是代码。电脑机器只能识别0和1的二进制数字组合。人写的代码不能直接被电脑识别,需要一个翻译的过程,这个过程叫编译,把对人有意义的代码转换为对电脑有意义的二进制码。你看到的游戏画面是电脑理解了这些二进制码之后的结果。电脑根据二进制码来进行游戏图像渲染、处理玩家的键盘鼠标操作信息。举个简单的例子吧,假设人写的代码如下:Action action = drawCar();boolean goLeftBool = getInputLeftArrow();if(goLeftBool){ action.setLocation(action.getLocation().getX()--, action.getLocation().getY());}这段代码大概意思是:画辆车,玩家按左,车往左走。编译之后形成下面这样的二进制码:10101010001010101011其中每行代表源代码中的一句。就像黑客帝国一样,哈哈。这样电脑才能理解。当然,这是个例子而已,真正编译出来的二进制码比这个要多得多!
问题四:怎么编写一个游戏程序? 新手如何学习C语言 第一:一些概念。 C语言是一门程序设计语言,有一些标准,比较重要的是ANSI C(好像是C89)和C99。 数据结构包括逻辑结构和物理结构。逻辑结构是数据元素 *** 和定义在 *** 上的关系。物理结构是逻辑结构在计算机中的实现。 LCC、VC、TC、GCC都是C语言编译器,一般包括集成开发环境,编译器和链接器及辅助工具 我们书写的是C源程序,源程序通过编译器编译为中间文件,中间文件经链接器链接生成可执行文件。不同操作系统可执行文件不同。中间文件也有几个标准,微软使用的和linux下通用的有差异。 第二:学习什么。 个人认为程序设计学习的重点放在数据结构的学习上,但是这种学习要有一个平台,比如C语言。 学习C语言首先要掌握基本语法,常量、变量、类型、及顺序结构、分支结构和循环结构的意义及用法。进一步学习构造类型如指针、结构、函数的意义和用法。 C语言提供一些标准函数以减轻程序设计工作量,这些函数我们自己也可以实现。即使不依靠函数库,只有编译器,理论上就足够了。事实上,提供的标准函数效率都很高,使用很频繁,没有自己实现的必要,所以掌握常用函数是非常必要的,但是要注意函数的适用范围。 继续学习因人而异,应该可以独立选择了。 第三:如何学习。 强调多实践,C语言的学习要经常上机,多写程序才能逐步提高。 推荐书籍:C Programming Languge。有中译本
求采纳
问题五:如何编程游戏 105分 用flash,Flas *** 设计的三大基本功能是整个Flas *** 设计知识体系中最重要、也是最基础的,包括:绘图和编辑图形、补间动画和遮罩。这是三个紧密相连的逻辑功能,并且这三个功能自Flash诞生以来就存在。
flash 8下载地址:
sky/soft/2491
问题六:如何编写手机游戏 要是能用问问让你学会了,软件工程师早就没饭吃了
问题七:怎样用C语言编写一个小游戏? #include
#include
#include
#include windows.h
void gotoxy(int x,int y) /*定义gotoxy函数*/
{ COORD c;
c.X=x-1;
c.Y=y-1;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
int main()
{
struct point
{
int x, y;/*该点的位置,包括x坐标和y坐标*/
int xv, yv;/*该点在x轴,y轴的速度*/
}man;
long p;
man.x=man.y=20;
man.xv=man.yv=1;
system(cls);
p=1000000000000000;
while(p--)
{
if(p%50000)
continue;
gotoxy(man.x, man.y);/*把光标移到指定的坐标*/
printf( );/*输出一个空格,把先前的字符擦去*/
man.x += man.xv;/*水平方向按x轴的速度运动*/
man.y += man.yv;/*垂直方向按y轴的速度运动*/
if(man.x==0||man.x==80)
man.xv*=-1;
if(man.y==0||man.y==80)
man.yv*=-1;
gotoxy(man.x, man.y);
printf(%c\b, 2); /*输出ASCII码值为2的笑脸字符*/
}
getchar ();
return 0;
}
这个是一个会动的笑脸,你可以从最简单开始
问题八:怎么编写游戏程序? 这个坦白地说,非常难,但也不是不可以,就看你有没有恒心了。
需要学习java SE的基础,包括AWT、SWING的一些知识,二进制与文本IO,3D图象,可能还涉及很多运算,包括声音与视频的输出,动画或flash的输出,甚至有可能要有与windows DirectX的交互。我在外面看攻有JAVA游戏编程方面的书,你可以买来看看
问题九:一个游戏的程序怎么写 要具备两个要素 第一要知道游戏怎么玩即规则 第二要懂得计算机中的某一门语言 好了把游戏的规则通过计算机语言告诉给电脑 就可以了
问题十:如何编制游戏 诸如:C语言,帧绘制,素材拼接做mod,甚至CAD都行,方法实在太多,但也很复杂,非三言两语可以说明。
想要简单制作的话,使用游戏制作软件,如RPG maker, FPS maker。
Ⅱ 怎么编程一个最简单游戏代码
1、代码的第一行,是一个include语句。没有它我们的程序会编译不过。有了它就是告诉编译器在对代码进行编译之前,必须要包含程序需要的文件。这里的stdio.h就是我们需要的头文件。
2、代码第二行是一个main函数,这个main函数的返回值是一个int整型数据。刚开始学习编程的时候我们可以认为程序运行的时候是从main函数开始的。后续会专门给大家做一个介绍向大家说明在main函数之前还做了哪些事情。
3、每个函数都用一对“{}”进行包含,表示着函数体的开始和结束,当然后面说到控制语句的时候它还表示一段控制语句的开始和结束。
4、main函数中调用了一个printf函数。它是用来向控制台输出我们想要的内容。printf的函数定位格式为:int printf(constchar*format,...)。format中定义了输出内容和格式。
5、return函数执行完后。在退出函数体之前,会将函数进行返回。return后的内容根据函数返回值定义而定。在本段程序中返回的是整型数据0。
Ⅲ 冒险岛源码如何编译
1、解压服务端档空判.rar。安装079客户端。给客户端安装补丁1.5m。亏埋
2、解压WIN10专用HShield.rar,将其中文件替换客户端中的HShield文件夹。
3、修改HShield中的ehsvc.ini文件的配置安装路径。
4、解压dlq.zip,文件放行改到客户端目录下。
5、使用客户端登录器进入游戏。
Ⅳ 暴龙建筑师怎么编译游戏怎么导出
如何导出游戏
堆栈编辑器包括导出要在没有编辑器的情况下使用的完整项目的可能性。
要导出游戏,只需按编辑器中的"导出"按钮:
下面我们将显示一个导出屏幕,这需要几分钟,因为您必须收集所有必要的资源,然后我们将得到一个压缩文件与项目:
此 .zip 文件承载整个项目,因此我们可以使用它作为起点将我们的游戏带到其他地方。
以下是一些发布备选方案:
导出文件中的内容是什么?
.zip 文件可使用安装在任何操作系统上的工具轻松解压缩。
解压缩后,让我们看看一个帮助文件和一个名为"项目"的文件夹,包含我们游戏的所有资源:
如何运行我的游戏没有编辑器
第一步是安装Node.JS 并访问终端以执行命令。
然后,您必须输入"项目"目录并运行命令:
npm install
如果一切顺利,我们应该看到节点包安装程序工作几秒钟,以下载您继续工作所需的一切锋告册:
从这一点开始,您将有可能做以下一些事情:
在本地服务器上测试应用程序
要直接在浏览器中启动游戏,您可以在同一目录"project"中键入此命令:
npm start
接下来,您将打开浏览器和游戏。
请注意,堆栈无法通过打开浏览器中的 index.html 文件直接工作,您不能直接行走的原因是您需要在使用 ajax 初始化时上载文件(如果直接打开 .html 文件初始化,浏览器无法做到这一点)。
离线在电子中运行游戏
另一种选择是启动游戏,仿佛它是一个专门的应用程序,而无需浏览器。
为此,您必须运行此命令:
npm run electron
如何创建要分发的打包版本(.exe、dmg 等)
导出游戏时备受追捧的选项是能够使游戏完全可移植,并且接收游戏的人不必安装或配置任何内容即可玩游戏,只需双击文件即可玩游戏。
堆栈允许您使用前面提到的称为电子的工具和一系列脚本来做到这一点。
让我们以请求最多的示例为例,使我们的游戏能够编译为窗口并将其分发为 .exe 文件。我们所要做的事情是双击文件:
instalar_dependencias. 蝙蝠
generar_version_exe. 蝙蝠
或者,打开"cmd"命令,输入导出的游戏目录,然后运行以下命令:
npm install electron-packager --save-dev node_moles/.bin/electron-packager . mijuego --platform=win32 --arch=ia32
该命令将花几秒钟,完成后将显示一条消息,指示文件已准备就绪:
在我的友友案例中,这些文件是在名为"mygame-win32-ia32"的目录中生成的。该完整目录是可以传递给窗口用户,以便他们可以通过双击 .exe 文件来运行游戏:
如果除了窗口,你正在寻找把你的游戏到其他平台,如gnu/linux,mac/osx或树莓还有一个参数,以启动构建所有支持的平台,像这样:
node_moles/.bin/electron-packager . mijuego --all
有几个更多的参数,但为了不扩展太多,我们留给你详细的电子封装银宏文件
顺便说一下,如果你想确切地研究这些脚本,你可以通过查看二进制分布的电子文档来深化你的研究,因为它手动描述了每个编译步骤。
Ⅳ 日本过去fc红白机用什么编写游戏,如魂斗罗、超级玛丽,难道是汇编和C街机游戏又是怎么编出来的
你说的没错,FC是用6502汇编语言写的,已经接近机器码了,当时的电脑也很简陋。gba是用C语言写的 并用专用软件GCC编译
Ⅵ 编程所写的代码 是如何变成游戏的
人能识别有意义的字母、数字组合,就是代码。电脑机器只能识别0和1的二进制数字组合。人写的代码不能直接被电脑识别,需要一个翻译的过程,这个过程叫"编译",把对人有意义的代码转换为对电脑有意义的二进制码。
你看到的游戏画面是电脑理解了这些二进制码之后的结果。电脑根据二进制码来进行游戏图像渲染、处理玩家的键盘鼠标操作信息。
举个简单的例子吧,假设人写的代码如下:
Action
action
=
drawCar();
boolean
goLeftBool
=
getInputLeftArrow();
if(goLeftBool){
action.setLocation(action.getLocation().getX()--,
action.getLocation().getY());
}
这段代码大概意思是:画辆车,玩家按左,车往左走。编译之后形成下面这样的二进制码:
其中每行代表源代码中的一句。就像黑客帝国一样,哈哈。这样电脑才能理解。
当然,这是个例子而已,真正编译出来的二进制码比这个要多得多!
Ⅶ 怎么编写游戏代码
首先请先学一门语言,c类,java,python其中三选一,当你学会基础之后,就可以采用各种网上有的库来编写一款游戏了。
还有一种办法就是下载一款图形编程软件,类似processing等,这些都需要用到上述其中一种语言,好处就是不用跟各种五花八门的库打交道,坏处是写出来的游戏只能用这些软件运行。
(7)游戏怎样编译的扩展阅读:
代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。源代码是代码的分支,某种意义上来说,源代码相当于代码。
现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。
Ⅷ 怎么制作游戏编程开发
一、游戏程序开发的工作主要包括哪些方面
游戏开发中的程序开发主要由如下几个方面组成:
1.图形引擎
2.声音引擎
3.物理引擎
4.游戏引擎
5.人工智能或游戏逻辑
6.游戏GUI界面(菜单)
7.游戏开发工具
8.支持局域网对战的网络引擎开发
9.支持互联网对战的网络引擎开发
下面逐一介绍每个部分:
1.图形引擎主要包含游戏中的场景(室内或室外)管理与渲染,角色的动作管理绘制,特效管理与渲染(粒子系统,自然模拟(如水纹,植物等模拟)),光照和材质处理,LOD(LevelObjectDetail)管理等,另外还有图形数据转换工具开发,这些工具主要用于把美工用DCC软件(如3DSMax,Maya,SoftXSI,SoftImage3D等)软件制作的模型和动作数据以及用Photoshop或painter等工具制作的贴图,转化成游戏程序中用的资源文件。
2.声音引擎主要包含音效(SoundEffect简称SE),语音(VOICE),背景音乐(Backgroundmusic简称BGM)的播放。SE是指那些庆早在游戏中频繁播放,而且播放时间比较短,但要求能及时无延迟的播放,VOICE是指游戏中的语音或人声,这部分对声音品质要求比较高,基本上用比较高的采样率录制和回放声音,但和SE一样要求能及时无延迟的播放,SE在有的时候因为内存容量的问题,在不影响效果的前提下,可能会降低采样率,但VOICE由于降低采样率对效果影响比较大,所以一般VOICE不采用降低采样率的做法。BGM是指游戏中一长段循环播放(也有不循环,只播放一次)的背景音乐,正是由于BGM的这种特性,一般游戏的背景音乐是读盘(光盘或硬盘)来播放。另外一些高级声音特效,如EAX,数字影渣差搏院系统(DTS5.1),数字杜比环绕等。
3.物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模如祥拟,以及发生碰撞后的物体骨骼运动的力学模拟(比较着名的物理引擎有havok公司的gamedynamicssdk,还有opensource的ODE—OpenDynamicsEngine)。
4.游戏引擎主要是把图形引擎、声音引擎、物理引擎整合起来,主要针对某个游戏制作一个游戏系统,其包含游戏关卡编辑器,主要用途是可以可视化的对场景进行调整,光照效果和雾化等效果调整,事件设置,道具摆放,NPC设置,另外还有角色编辑器,主要用于编辑角色的属性和检查动作数据的正确性。一般日本游戏公司的做法,他们会把关卡编辑器和角色编辑器直接做到游戏中,所有的参数调整都在游戏中通过调试菜单来进行编辑,所以一般他们把这部分调试菜单的功能做的很强大,同时在屏幕上实时的显示一些重要的信息,这样做的好处是关卡编辑器调整的效果直接就是游戏的效果,但是对于程序的重用性来说可能不是很好,比如说要用到另外一个游戏项目中就比较难,除非两个游戏类型相同,只要把场景和角色数据换一下,还有做下一代产品也没有问题,只要根据式样增加调试菜单的功能就可以了。
5.人工智能和游戏逻辑开发,这部分日本和欧美的游戏开发模式也有很大不同,在欧美游戏公司中运用脚本语言开发很普遍,所以这部分程序开发主要是用脚本语言编写,而且脚本程序和游戏程序的耦合性很低,有单独的编辑、编译和调试环境,这样比较利于游戏程序和关卡设计开发分开,同时并行开发,所以一般他们都会有专门做关卡设计的程序员岗位。而日本游戏公司脚本语言一般和游戏的耦合性比较高,一般通过一些语言的宏功能和一些编译器的特定功能来完成一个简单的脚本系统,所以一般这些脚本程序只能在游戏程序中进行调试,而不能在一个单独的脚本编辑,编译环境中进行开发。
6.游戏GUI界面(菜单),主要是指那些游戏中用户界面设计,有做的复杂,有简单的,做的简单就是2DGUI界面,做的复杂有3DGUI界面。
7.游戏开发工具主要包含关卡编辑器,角色编辑器,资源打包管理,DCC软件的插件工具等开发。
8.支持局域网对战的网络引擎开发,主要解决局域网网络发包和延迟处理,通讯同步的问题,有同步通讯和异步通讯两种做法,异步通讯用于那些对运行帧速要求比较高的游戏,同步通讯相对异步通讯来说效率相对低,但是同步通讯的编程模型相对异步通讯来得简单一些。
9.支持互联网对战的网络引擎开发,目前大部分网游都是C/S结构的,服务器端软件配置管理,服务器程序的最优化,还有游戏大厅、组队、游戏逻辑处理、道具管理、收费系统等。另外还有一些网络系统是C/S和P2P两种结构混合的,如XBOXLive等。
二、游戏公司中有哪些和程序员相关的岗位
程序员在游戏公司中的岗位在日本游戏公司和欧美的游戏公司有些不同,日本游戏公司中程序员的岗位主要有技术监督(Director),主程序员(MainProgrammer),程序员(Programmer),在日本游戏公司里负责游戏项目开发的程序员,一般不会专门根据工作内容划分程序员,除了独立的系统研究室和声音系统制作部门(这两个部门是比较独立的,往往同时给好几个项目服务),负责每个游戏项目开发的程序员,随时都可能一人多职,比如说主程序员除了负责整个游戏系统以外,可能还要负责图形或声音引擎开发等,程序员除了人工智能以外还有菜单制作等。这种情况在欧美的游戏公司比较少见,他们分工的比较细,一般有图形程序员,声音程序员,人工智能或游戏关卡程序员,物理程序员,每个组中可能还会有一个Leader。
三、游戏公司一般是如何招聘程序员的
这一点,日本公司和欧美公司也有些不同。日本公司一般喜欢从一些高校中招聘一些应届优秀毕业生,一方面比招聘有经验的人要来的成本低,另方面新人是一张白纸,容易培养,像SEGA、KONAMI等都是按这种原则招聘员工的,所以想进入日本游戏公司,你要学好你的软件课程。而欧美公司希望招聘进来,能马上进入项目的开发中去,所以他们一般希望招聘有工作经验的人,即使不是行业中,在相关行业中工作2、3年的也可以,所以想进入欧美游戏公司你的工作经历很重要。
四、想成为一名游戏开发程序员应该具备哪些条件
我觉的一个游戏软件程序员,最起码的要求是熟练掌握计算机本科专业所学的知识,主要包括C语言或C语言,数据结构,编译原理,算法等,另外线性代数、微积分、牛顿力学在图形和物理引擎开发方面用途也很广泛,如果要提高的话还有必要了解硬件相关的知识如计算机体系结构、汇编语言,这些对我们学习一个新的硬件平台、编写最优化代码、提高自己游戏的竞争力都是非常有益的。另外,保持有恒心、不怕苦(比如说通宵加班)的心态,对游戏的热情也是非常重要的。对于那些想进入游戏行业,但缺乏软件开发知识的人,可以通过参加游戏开发培训来
五、学习游戏编程有哪些好方法
现在有很多人,计算机本科毕业,学了很多软件开发的知识,但是一旦要用到实际的项目开发时,感觉无从下手,这主要是在学校里运用知识的机会太少了。所以学习游戏编程最好的方法是能实际参与到一个好的游戏项目中和有丰富开发经验的人一起开发游戏,可能学到很多你从书本上学不到知识和技能。但有时候你一时还没有机会参与到一个好项目中,没有机会进入一家好的游戏公司,但是你对游戏开发有一腔热情,很希望学习游戏开发的技能,那你就应该去参加专门的游戏开发培训,因为游戏开发培训班中的老师都是一些有丰富开发经验的老师,一般都有五年丰富的项目开发经验,听他们的课,实际上就是在和他一起分享这么多年的开发经验,另外游戏开发培训课程中会专门设计一些项目和课题,它们本身就是可以直接运用游戏开发中,这样你可以不进入着名的游戏公司,但可以学到这些公司中一些常用的开发技能。另外还有一种方法经济实惠的方法,参加一些网上志愿者的开源项目,这些项目从品质来说有好有坏,选择一个好的项目非常重要,另外他们中间本身有许多是业内人士,本来你要进入他们公司,才能学习到他们的经验,但是通过开源项目,你就有向他们学习的机会了,说不定哪一天,你就进入一家知名的游戏公司了,不过目前开源的完整游戏项目好的不多,到是在图形引擎和物理引擎方面有一些很不错的开源项目,但要加入进去的话,你的基础一定要好啊,有些开源的团队也不是随便什么人就能加入的。
Ⅸ 游戏用什么语言编写的
一般的大型游戏开发不是单一用某一种软件语言的问题。一个大型游戏的开发需要非常大的团队用各种各样的语言和工具来完成。
总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
首先一般的游戏开发架构(Windows平台)从底到顶一般是DirectX™——游戏引擎——游戏。
大型游戏开发的大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。比如比较流行的语言。,然后编写脚本将其组织成一个游戏,不需要什么底层的编程语言。
Windows平台比较流行的方法是使用最新版本的VisualStudio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。
(9)游戏怎样编译的扩展阅读:
汇编语言
为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字宏腊等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。
汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码。而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言中由于使用了助记符号,用汇核喊编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的“汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。
用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
高级语言
不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分改绝野熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。
这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。
如今被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。
编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。
PASCAL、FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。