当前位置:C++技术网 > 精选软件 > C++语言零基础入门教程:3.4 可执行文件是什么?exe程序文件是什么?

C++语言零基础入门教程:3.4 可执行文件是什么?exe程序文件是什么?

更新时间:2015-10-29 22:15:53浏览次数:1+次

    我们的课程是零基础的课程,所以,对于这个问题是有必要介绍的。我们总不能因为简单,然后就忽略了,然后让学完课程的你最后连exe可执行文件这些东西都不知道吧。
    我们先说说可执行文件吧。通常的文本文件图片文件等,都是数据文件。数据文件就是用来存储信息的,文本中可能记录着我们的瑞士银行账号,而图片可能就是你辛苦打拼的珍贵记忆。这些数据文件就是记录信息的。而这些数据最终被存储在存储介质中,比如硬盘、U盘、手机内置存储器、SD卡等等。而这些数据是存在于存储介质内部,以二进制存放的。实际上就是两种状态的序列组合,两种状态就对应着0和1。而这些状态都是稳定的,所以数据可以存储很久。
    而这些数据对于人来说,并不像写在纸上的字,可以直接阅读。也不像印刷在胶纸上的照片,可以直接看。这些数据只是给机器看的。当然如果你苦心进修,然后看得懂二进制格式的数据了,你也就牛逼了。不过然并卵。再说了,存储在内存卡的数据,难不成你直接用眼睛放电,将内存卡的数据读到大脑吗?不会吧。所以说,最终还是要通过各种设备转化成为可见的形式,通过屏幕显示出来,然后你用眼睛看咯。这些设备不局限于计算机咯。手机等各种设备也是一台微型的计算机咯。
    那么在这个过程中,实际上还是计算机先读取了数据,然后给人看。所以说来说去,计算机存储的数据,最终还只有计算机自己懂了。而计算机是一个庞大的概念,我们实际上指的即使计算机的可执行文件咯。
    可执行的文件为什么叫做可执行文件呢?是因为可执行文件是可以在计算机中活动起来的,就像一个人一样的。他可以去读数据文件,修改数据文件,可以保存数据文件。可执行文件是可以执行动作的。虽然可执行文件在存储时也是一对数据咯,但是操作系统赋予了它可以被执行的能力,所以,可执行文件在被执行之前就是一个文件,就是一个数据而已。但是一执行起来,威力要多大有多大。你想想病毒攻击核电站,然后让核电站爆炸,你想想威力吧。这个不是开玩笑的哦。所以,可执行就是表示这个文件可以被当做执行的程序来控制计算机的。而文件又代表这些控制计算机的指令都是编写好存储在计算机存储介质中的。需要执行某些功能的时候才会让这些文件执行,这就是可执行文件的来历哦。
    好了,我们来看看QQ吧。QQ安装之后,没有运行之前,就是一堆的数据文件和可执行文件。可执行文件是dll和exe这类的后缀的文件,其他的都是数据。我们看看酷狗和QQ安装文件夹下的文件:

    下面是酷狗的安装目录:

   

    下面是QQ的安装目录:
   
    可以看到,有很多exe和dll的文件,这些就是可执行的文件。你看到的都是文件,是数据存储的形式。在可执行文件没有被执行之前,和其他数据文件没有任何区别。而一旦被执行起来,我们可以用QQ聊天,可以用QQ远程控制对方等等。这可不是一般的数据文件能够做到的,数据文件根本就不能控制电脑的。这才是本质的区别。
    那么我们在Windows中最常见的可执行文件就是exe了。而在安卓手机中的可执行文件就是apk文件了。还有各种系统各种设备上可以被执行的文件,都是可执行文件,不要局限于某个操作系统和设备。凡是能够被执行的文件,都是可执行文件,而不能执行的就是数据文件咯。
    exe是Windows操作系统的可执行文件的一种。我们在Windows上用C++写的程序,生成的就是Windows上的可执行程序,我们一般直接运行的就是exe程序。exe程序文件是可以独立运行的,而dll这些可执行文件是一个程序扩展,它要依赖于exe程序,否则无法独立运行。
    而我们编写的代码,通过编译、链接最后将这些二进制代码按照操作系统的可执行文件格式整合在一起,最后生成的可执行文件就是我们的程序文件咯。我们在VS中点击调试后,程序跑起来了,就表示这个程序文件已经存在了。在VS中,只要生成了解决方案成功,最后就会提示生成了一个exe文件,你在项目的目录下的Debug目录下就可以找到exe为扩展名的程序。这个是调试版本的程序,最终发行的使用Release模式生成程序。你只要复制这个exe文件给别人,就可以了。当然如果你的程序用了其他的dll,那么这些东西也要和exe一起复制给别人哦。而如果你程序需要用到一些图片或者配置文件,那么就要将这些配置文件也复制给别人。如果程序中访问文件是按照目录结构来访问的,那么复制的时候连同目录结构复制,否则会出现文件找不到的问题。
    那么最后文件多了,一次复制一大堆文件就不方便了。所以,就编写一个程序,将这些文件打包到一个exe文件中,然后将这个exe文件复制给别人,别人只要运行这个exe,这个exe就会将内部的文件都释放出来放在一个指定的文件夹下,然后将释放出来的的exe主程序文件创建一个快捷方式发送到桌面。被打包发给别人执行的exe程序就是安装程序咯。安装时需要指定安装目录,其实就是释放内部文件,将释放的文件存放在的文件夹咯。
    那么凡是有以上释放程序文件的特征的exe文件就都是安装程序咯。而正在执行我们功能的就是被释放出来的主要程序exe文件,比如QQ的安装目录下的启动QQ的exe文件咯。
    这节课主要是普及常识的,希望你能够有一个更全面的认识。这些内容还很少在书上学到,也几乎没有老师讲,那由我就讲给大家咯。