当前位置:首页 » 编程软件 » 源程序经过编译可执行

源程序经过编译可执行

发布时间: 2023-05-31 05:43:25

c语言中的源程序必须经过编译连接生成可执行程序才能运行,这句话是对不对

哥们,这么理解是对的,不过感觉有点表面。
建议看看计算机一些原理,像你说的这个问题我会想到,计算机最终只能识别二进制码,
所以其实不管我们一切啥语言,最终都是通过编译器编译成二进制码,计算机才能识别
而去运行,而c语言编写的程序,肯定是要经过一系列的编译,链接,生成可执行的文件。
在windows系统中,执行文件都是.exe为扩展名的。不过在linux系统中就不一样了,linux
系统并不区分扩展名,所以也就无所谓什么.exe之类的文件,只要知道最终生成可执行的
二进制文件就可以了。

⑵ c语言源程序f1.c经过编译后运行将实现什么功能

将C源程序编译为目标文件。
采用生成性实现途径实现的翻译程序,它掘姿以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目正散亏标程序作为输出,编译为目标文件。
C语言编译出来的是object文件,里面的内容基本上举神包括跟CPU类型相关的机器代码,这个代码当然在兼容的CPU上都是可以运行的常量。

⑶ 计算机程序中,用高级语言编写的程序经编译后产生的程序叫什么

高级语言编写的代码经过编译后就是可执行程序,高级语言到可执行文件主要有七个个过程。
高级语言编译的七个过程:
预处理,词法分析,语法分析,语义分析,中间代码产生,代码优化,目标代码产生。
下面对这几个过程详细讲解:
1、预处理:
对原文件进行预处理,比如头文件,导入的模块,宏定义等进行处理;
2、词法分析:
词法分析是第一阶段,这个阶段的任务是从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。
3、语法分析:
语法分析的任务是在词法分析的基础上将单词程序分解成各位语法短语。
4、语义分析:
语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。
5、中间代码生成:
在进行了上述的语法分析阶段等工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。中间代码生成阶段要在语法和语义分析的基础上,将源程序进一步变为一种内部表示形式,它通常易于生成、易于翻译成目标代码,不过不是所有的语言都必须经过这一步。
6、代码优化:
这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效。代码优化阶段,对前阶段生成的中间代码进行变换或改造,以便生成目标代码时更加节省时间和空间,这一工作也不是必须的。
7、目标代码生成:
这一阶段的任务是吧中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。

⑷ 把高级语言编写的源程序转换为可执行程序的过程叫什么

这个过程有两个叫法,编译或者解释。
有些高级语言在把源程序转换为可执行程序的时候,需要先对完整的源程序做词法分析、语法分析等一系列检测,所有语法都没有问题后,一次性把所有源代码翻译成机器码,这要求源程序中不能有任何语法错误,否则将不会生成可执行程序,直到所有语法错误都改正,这种转换的方式称为编译,C、C++等语言就是采用了编译方式。
还有些高级语言在把源程序转换为可执行程序的时候,一句话一句话的转换,翻译一行执行一行,如果遇到某一行出现了语法错误,程序将停止在出现错误的地方,程序员可以修改,然后继续执行,这种转换方式称为解释,VB、早期的Java都是采用解释方式。
两种方式各有利弊,编译的方式对于程序员要求较高,源代码中不能出现任何错误,最终的程序才能执行,但一旦通过了编译,则生成的可执行代码执行效率会很高;而解释方式可以边写代码边调试,但执行的效率较低。

⑸ C语言的源程序必须通过什么和什么才能被计算机执行

编译和链接。

每一个C语言程序必须要经过编译和链接才能被计算机执行,编译是将C源码翻译成机器码,链接是将将二进制目标文件装配成一个具有特定格式的二进制可执行文件,比如Windows平台上是PE格式,一般以.exe为扩展名。

一个C语言程序从源码到计算机系统可以执行,更细致的划分为:预处理——编译——汇编——链接。预处理是对C语言源码进行文本处理,编译阶断是将C源码经C编译器生成汇编代码,汇编阶断是将汇编代码经汇编器生成二进制机器码文件。这两个合拢起来,笼统的可以叫做编译阶断。

⑹ 简述将源程序编译成可执行程序的过程

一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。

预编译:主要处理源代码文件中的以“#”开头的预编译指令。处理规则如下:

1、删除所有的#define,展开所有的宏定义。

2、处理所有的条件预编译指令,如“#if”、“#endif”、“#ifdef”、“#elif”和“#else”。

3、处理“#include”预编译指令,将文件内容替换到它的位置,这个过程是递归进行的,文件中包含其他文件。

4、删除所有的注释,“//”和“/**/”。

5、保留所有的#pragma 编译器指令,编译器需要用到他们,如:#pragma once 是为了防止有文件被重复引用。

6、添加行号和文件标识,便于编译时编译器产生调试用的行号信息,和编译时产生编译错误或警告是能够显示行号。

(6)源程序经过编译可执行扩展阅读:

编译过程中语法分析器只是完成了对表达式语法层面的分析,语义分析器则对表达式是否有意义进行判断,其分析的语义是静态语义——在编译期能分期的语义,相对应的动态语义是在运行期才能确定的语义。

其中,静态语义通常包括:声明和类型的匹配,类型的转换,那么语义分析就会对这些方面进行检查,例如将一个int型赋值给int*型时,语义分析程序会发现这个类型不匹配,编译器就会报错。

python源程序执行的方式

python源程序执行的方式如下:

1、在命令行输入ipython或ipython3进入交互式shell环境,如果不行的话需要安装ipython和python镜像,配置方式:pip3 install ipython -i ctrl+D或者exit 推出ipython ipython的优点:支持自动补全和执行linux命令。

2、在命令行窗口输入python (官方的shell),在这里可以直接输入python程序代码,退出用exit() 或者 ctrl+D。

3、集成开发环境:PyCharm 类似IDEA,推荐教程: 《Python教程》。

编译执行

所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下次运行时无需重新编译。不过它是针对特定CPU体系的,这些目标代码只能在特定平台执行。

如果这个程序需要在另外一种 CPU 上面运行,这个代码就必须重新编译。它不具备可移植性,但是执行速度快,C、C++这类语言属于编译型语言。

⑻ C源程序经编译形成的二进制代码可以直接运行吗

不可以直接运行,源程序是程序员写给人看的,电脑执行的都是.EXE程序或者是二进制可执行代码,所以得将源程序进行编译连接然后才能生成可执行的程序也就是二进制的代码。

源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。

在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。

计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。

(8)源程序经过编译可执行扩展阅读:

如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。

对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,好的书写习惯茄蚂将决定源代码的好坏。源代码是否具有可读性,成为好坏的重要标准。软件文档则是表明可读性的关键。

对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都颤键埋忽视软件说明的编写,因为这部分不会在生成的程序中直接显示,也不参与编译。

但是亮悔注释代码对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。

网络-源代码 (一系列人类可读的计算机语言指令)

⑼ 用编译程序可将c语言源程序变为什么程序

你好,C语言通过编译之后,会变为计算机能够执行的程序。
源程序(源代码)是指按照一定的程序设计语言规范编写的未经过编译的文本文件,是具有可读性的计算机语言指令。可以比作自己手写的程序代码。可执行程序(Executable Program,EXE file)是可以在操作系统存储空间中浮动定位的二进制可执行程序。一般软件安装后会生成可执行文件,可以直接加载到内存中,操作系统加载并执行。
以 C 语言为例,自己编写的源代码文件扩展名为 c,这个 c 文件就是源文件。从源文件到可执行文件一般需要经过几个步骤:预处理->编译->汇编->链接这四个过程。
希望我的回答能够帮助到你。

热点内容
zxingandroid简化 发布:2024-05-02 17:47:53 浏览:189
贵州银行卡查询密码是什么 发布:2024-05-02 17:47:17 浏览:119
飓风算法没用 发布:2024-05-02 17:41:41 浏览:350
android铃声设置 发布:2024-05-02 17:40:01 浏览:485
php日记本 发布:2024-05-02 17:28:22 浏览:850
msc拒绝访问 发布:2024-05-02 17:19:09 浏览:122
php函数漏洞 发布:2024-05-02 17:15:26 浏览:963
linux访问localhost 发布:2024-05-02 17:04:11 浏览:880
剑三自动任务脚本 发布:2024-05-02 16:59:42 浏览:526
哪里有java视频教程 发布:2024-05-02 16:59:31 浏览:346