1. c语言:exe(可执行文件)是如何被执行的
.exe--是可在操作系统存储空间中浮动定位的可执行程序
.c文件生成.exe文件的过程,经历了预处理,编译,汇编,链接,这四个过程
1.预处理--主要处理源代码中的预处理指令,引入头文件,去除注释,处理所有的条件编译指令,宏的替换,添加行号,保留所有的编译器坦猛指令。(生成.i文件)
2.编译--进行的是对预处理后的文件进行语法分析,词法分析,语义分析,符号汇总,让旅桥然后生成汇编代码。(生成.s文件)
3.汇编--将汇编代码转成二进制文件,二进制文件就可以让机器来镇指读取。(生成一个重定位目标文件,linux下是.o文件,windows下是.obj文件)
4.链接--合并段表,然后把符号表合并并且对符号表进行重定位。
2. 运行一个可执行文件后经过什么过程才被cpu执行的数据是怎么传输的汇编解答
这涉及到操作系统对EXE文件的装入问题。以DOS为例,它的装入过程要经过以下几个步骤:
1.
首先从磁盘取EXE文件,取EXE文件之前,通过判断EXE文件结构而识别之;
2.
在可用内存储器的一个小段边界上,构造一个256字节(100h)的程序段前缀(PSP);
3.
紧随PSP的下一个地址,也就是PSP起始地址的偏移257字节处,把EXE装入存储器中;
4.
把PSP的地址装入DS与ES寄存器;
5.
初始化CS,并把IP寄存器设置成代码段中猛尺第一条指令的偏移值(通常是0);
6.
初始化SS,并把SP设置成栈大小;
7.
把机器的控制权交给EXE文件,使其指向EXE代枝团高码段的第一条指令;
8.
CPU根据程序员设定的代码,执行程序,最后将控或销制权限返回给DOS。
3. 在应用程序开发中,从源代码到可执行文件,需要经过四个步骤,在哪一步完成后可以生产可执行文件( )。
【答案】:D
在平常应用程序开发中,槐敬耐从源代码到可执行文件,需要经过四个步骤,分别是,预编译,编译,汇编和链接。
1.预编译
预编译过程主要处理源代码文件中以"#"开始与编译指令。比如常见"#include","#define"等,主要处理规则如下:
1)将所有"#define"删除,展开所有宏铅春定义。
2)处理所有条件预编译指令,如"#if","#ifdef"等。
3)处理"#include"预编译指令,将包含文件插入到该预编译指令位置。
4)删除所有注释,包括"//"和"/* */"。
5)添加行号和文件名标识,以便于编译时产生编译错误和警告时能够及时显示行号。
6)保留所有稿派#pragma编译器指令,因为编译器必须使用它们。
预编译相当于如下命令:
$gcc -E hello.c -o hello.i 或 $cpp hello.c > hello.i
2.编译
编译过程就是把预处理完文件进行一系列词法分析,语法分析,语义分析及优化后产生相应汇编代码文件。
编译过程相当于如下命令:
$gcc -S hello.i -o hello.s
4. C语言文件的编译与执行的四个阶段并分别描述
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(4)可执行文件执行过程扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。
2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。
4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。
5. 将PPT文件变为EXE可执行文件的流程
所有的电脑都可以执行EXE格式的文件,但是有些电脑上没有安装Office,也就无法查看PPT文档。 那么如何将PPT文件打包成EXE可执行文件?也许,你会说,WORD的文件打包那么简单,ppt打包为EXE可执行文件也很简单吧.但是事实并非如此,不论是什么文件,打包成EXE的可执行文件在携带起来就会很方便,但对于PPT也就是PowerPoint 2003 (幻灯片)打包的方法很多人并不了解,所以,今天就为大家介绍一下新的在PowerPoint 2003(幻灯片)中打包的方法,且看以下的介绍:
1、在PowerPoint 2003中打开,创建或编辑一新的或已经存在的演示文档。在任何时候,尤其是创建新的演示文档或链接媒体做演示的时候,对文件名的命名请使用旧的DOS 8.3命名规则,就是文件名不要超过8个字符,扩展名不要超过3 个。保存演示时选文件---CD打包。 ……
2、在CD打包的对话框中,给项目起个名字。你会发现活动演示已经包含在每一个默认的选项--包括 在CD 编辑中新的PowerPoint 2003 查看器。选择拷贝到文件夹的选项(勿选拷贝到CD)。PowerPoint 将储存所有需要的内容-包括演示、漏轿竖链接的文件,查看器和两个文本文件(autorun.inf 和 play.bat)。退出PowerPoint。
3、在windows 2000,xp,2003中,点开始--运行--输入"iexpress" (不含引号)。这将打开 IExpress 向导,一个 windows 没有公开的秘密。因为IExpress 是一系列向导驱动的屏幕显示,所以下面每一步以抓屏说明。
4、使用IExpress创建一个新的自解压引导文件,选择Create a new self extractiondirective file in IExpress, Next。
5、IExpress 需要知道如何将你的文件打包,选择第一项 "Extract files and runan installation command",Next.
6、给你返大想打得包一个名字,Next
7、在这一屏,IExpress 需要知道在最终用户在激活你的包时我们是否需要一个确认提示--因为我们想要我们最终完成的单独exe文件尽可能的透明,在这我们选择“Noprompt”选项,Next
8、你可以选择显示同意许可--作为演示,我们选择Don"t diaplay a licence---Next
9、该屏可能在整个IExpress 向导里面是最重要的一步。点Add---引导到你创建的PowerPoint 2003 CD包所在的文件夹,添加所有的文件然后 Next。
10、在安装程序的选项里,只需键帆枝入 "pptview.exe sample.ppt" (没有引号),这里 sample.ppt 是你的 PowerPoint演示文件。在任何时候,尤其是你创建新的演示文档或者链接媒体时,记住使用旧的 8.3命名规范。点Next
11、在这里,选择隐藏程序安装窗口--Hiddern,Next
12、这里,我们想整个处理过程对最终用户尽量不可见,我们选择 “No Message”,Next.
13、你需要给你最终的单独执行exe文件提供一路径及文件名,在这里你可以选择任何路径,给一个相同的名字。最好用8.3命名规则。在其他的选项里,选择Hide File Extracting Progress Animation from User,把Store File using long file name inside package前面的`选择清除掉,因为我已经推荐你使用8.3命名规范,点Next。
14、选择安装完文件以后是否启动,因为我们没有安装任何系统文件,所以选Norestart 。
15、除非你想返回修改,否则这里保存为self extraction directive (SED)file,选择存放路径及文件名,Next。
16、已经没有什么修改的了,最后给你一次反悔的机会,Next。
17、点Finish --这将激活 cmd 窗口将包压缩为单独的可执行exe文件
如此,你的PPT文件就打包成EXE可执行的文件了,带到哪里都方便了。电脑的学习不光是一个硬件的了解,而且电脑中的软件的功能也更值得大家不断的探索与求知的。以上的内容就又让你多一些电脑软件的知识,很不错吧。
6. 一个源程序(.c)变成可执行(.exe)文件要经过几个步骤详细一点
以GCC编译器为例,可以分为四步。
第一步是预处理,包括语法检查等工作。
gcc
-P
abc.c
第二步由源程序生产汇编判铅御语言代码。
gcc
-S
abc.c
会生成abc.s文件,这个文件里就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。
gcc
-c
abc.c
会激山生成abc.o
第四步连接器从目标代码生成可执行文件。
目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号掘岩(函数及变量名),将几个目标代码合成可执行文件。