0 Comments

如何用计算机语言来表达一个程序

发布于:2013-01-24  |   作者:广州网站建设  |   已聚集:人围观

       计算机的天职是接受并执行我们的指令,为我们工作。在计算机世界中,我们要通过程序这个传令官向计算机传达一个命令,必须经过下面的三个步骤:

第一步:在源文件中用程序设计语言表达指令

        我们(程序员)通过计算机程序设计语言表达我们的指令。通常,我们的指令是记录在某个文件,以源代码的形式出现的。在进行具体操作的时候,根据我们所使用的开发平台,具体的操作步骤可能有所不同。

        如果我们是在Windows平台下的Visual C++这个集成开发环境中进行C语言程序的开发,在这一步中,我们首先要创建一个项目。我们可以通过它的"File→New…"菜单命令来打开"新建项目对话框",然后在其中选择我们的项目类型为"Win32 Console Application",然后输入项目名称(例如,helloworld)并选择项目文件存放的位置(例如,"C:\sourcecode\")。填写完成这些项目的基本信息后,我们点击"OK"按钮进入下一步的设置。

(点击查看大图)在Visual C++中创建一个C语言程序的新项目

        在接下来的向导页面中,Visual C++为我们提供了几个项目模板以供选择,为了简便,我们选择"An Empty Project"选项,并点击"Finish"按钮完成项目参数设置,Visual C++将为我们创建一个没有任何文件的空项目。

          项目创建完成后,接下来的工作才是创建新的源文件并将其添加到项目中。再次点击"File→New…"菜单项,在弹出的新建文件对话框中,选择文件类型为"C++ Source File",然后输入文件名(例如,helloworld.c。注意,C语言程序的源文件是以.c为后缀的),最后点击"OK"按钮,Visual C++就会为我们创建一个新的空白的源文件helloworld.c并将其添加到当前项目中。最后,我们在这个空白的新源文件中输入如下代码,让计算机在屏幕输出"Hello World"字符串:

 


  1. // HelloWorld.c  
  2.     #include "stdio.h"  
  3.     int main()  
  4.     {  
  5.         // 在控制台窗口输出“Hello World”这个字符串  
  6.         printf("Hello World");  
  7.       
  8.         return 0;  
  9.     }  

这样,我们就完成了一个C语言程序项目的创建和源代码的输入工作。

      如果我们的开发环境是Linux\UNIX,这一过程将更加简单。我们只需要使用系统自带的文本编辑工具(例如,vi或者是vim等)创建一个名为helloworld.c的文本文件,并编辑其内容如上即可。

第二步:将源代码编译成可执行文件

         有了源文件,我们只是在文件中用程序设计语言表达了我们的指令(让计算机输出一段字符串,也就是"printf("Hello World");"),然而,我们在源文件中记录的指令是以高级程序设计语言表达的,这种语言接近于人类使用的自然语言,我们人类可以大致看懂,但是对于计算机来说,恐怕就是天书了。我们这里的编译器,更像一个翻译官,由它负责将我们在源代码文件中以高级程序设计语言表达的指令翻译成计算机可以理解的机器语言,并记录在可执行文件中。

        在Windows开发平台下,可执行程序通常是一个扩展名为.exe的文件,而在Linux\UNIX开发平台下,则可以是其他任何的可执行文件。要完成将源文件翻译成可执行文件的这一编译过程,在Windows开发平台下,我们可以在Visual C++中通过执行"Build→Build helloworld.exe"或者是"Build→ Rebuild All"菜单命令来完成。而在Linux开发平台下,则需要调用GCC编译器的编译命令来完成,例如:


  1. gcc helloworld.c -o helloworld 

这个命令的意义是,调用GCC编译器,将helloworld.c源文件编译成可执行文件helloworld。

经过这个编译过程后,我们就得到了可执行的helloworld.exe或者是helloworld文件。也就是刚才我们编写的源代码文件变为了:


  1. 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   
  2.     63 79 67 67 63 6A 2D 31  32 2E 64 6C 6C 00 5F 4A  
  3.     76 5F 52 65 67 69 73 74  65 72 43 6C 61 73 73 65  
  4.     73 00 00 00 48 65 6C 6C  6F 20 57 6F 72 6C 64 00  
  5.     00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  

哦,对我们来说,这已经是天书了。

第三步:计算机执行可执行程序

       当计算机执行这个可执行程序时(在Visual C++中,可以方便地通过"Build→Execute helloworld.exe"菜单命令来执行这个程序),这些指令会被调入计算机,虽然我们人类看不懂这些指令,但是计算机却能够看懂,最终将其翻译成"0101"的机器语言,并遵照这些指令执行,完成我们下达的旨意。


  1. 010101010001010100001001000100001100101010101001010101001001000100010100101110 

用0和1 表示的机器语言就像上面这样。

整个过程,可以用下面这幅图来表示:

(点击查看大图)一个C语言程序的一生
标签:
飞机