当前位置:首页 » 编程软件 » 必须经过编译生成

必须经过编译生成

发布时间: 2023-09-10 03:05:14

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

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

❷ 编写的程序一定要有编译器才能运行吗

不用,编译器只是有负责将编译语言翻译为机器语言的作用,编译后的程序就是机器语言了。可以直接在计算机上运行

❸ C语言为什么要先编译成汇编语言

C语言,具有可移植性,或者说同样的代码可以在不同cpu平台上运行得到同样的结果
汇编语言,移植性差,一般针对某型cpu,每个类型的cpu都有自己的汇编语言
为保证C语言编制的通用算法的可移植性,比如我们用C编写了一套mp3解码算法程序,要在pc机上、手机上都能用,那么我们就采用通用的C编译器,将C语言程序编译成指定CPU的汇编语言,再汇编成机器可执行程序。
另一个用途是程序优化问题,在C语言层次,由于是高级语言,不涉及底层硬件,那么底层硬件的特性不能够得到充分利用,在需要优化算法的场合,我们需要将C语言算法编译生成汇编程序,然后修改需要优化的汇编程序达到目的。比如,你在手机上经常会遇到音频解码器,需要安装,而且不同的cpu需要选择不同的解码器,这些解码器应当就是在汇编层次上优化了算法的可执行代码,关键部分经过汇编级优化,不需要优化部分仍然使用C语言编译的结果。

❹ 一个源程序如果不能编译,能否直接运行,为什么

一个源程序如果不编译是不能运行的,就算编译过了也不一定能运行。一个源程序必须经过编译生成后缀为.obj目标程序,然后连接生成后缀为.exe的可执行文件方能运行。如果编译没有问题,只是说明没有语法错误,但可能会存在一些逻辑错误导致程序不能运行,所以说,编译过了也不一定能运行。

❺ 用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过____。

用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过编译和连接。在WINDOWS系统中的执行文件一般都是.EXE文件。在windows中,用户在命令提示符输入不带 .exe 扩展名的文件名后按 Enter 键或者点双击就能运行可执行程序。

linux不像MS-DOS/windows一样靠文件后缀名来判断是否可执行,而是靠文件属性来判断。每个文件专门有个属性来表示文件是否可执行,对于脚本之类的程序,文件第一行指明执行本脚本的程序位置。

(5)必须经过编译生成扩展阅读

通过在文件头添加ASCII字符串“LX”来标识。运行在OS/2 2.0以及更高版本中,也可用于某些DOS扩展。

32位X86可执行文件这是最复杂也最流行的可执行文件格式,通过在文件头添加ASCII字符串“PE”来标识。它主要运行于Windows 95和Windows NT以及更高版本的Windows中,也可在BeOS R3中运行。

64位X86-64可执行文件与前一种类似,但使用支持64位的X86cpu(64根地址总线)。因此它仅能在64位的Windows系统中运行,譬如Windows 7 64位和 Windows10 X64。

❻ 用高级语言编写的源程序必须经过编译,产生目标程序后才能运行,这句话对吗为什么

目标程序不能运行,必须再经过连接成可执行文件才能运行。
而且像java 和c#的程序编译后也不是目标程序。

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

编译和链接。

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

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

热点内容
android透明图片 发布:2024-11-19 17:01:50 浏览:162
iis上传文件限制 发布:2024-11-19 16:37:55 浏览:406
面试题算法 发布:2024-11-19 16:30:25 浏览:546
oracle存储过程debug 发布:2024-11-19 16:30:25 浏览:233
linuxshjava 发布:2024-11-19 16:29:49 浏览:599
小程序saas平台源码 发布:2024-11-19 16:27:16 浏览:838
汽车五门怎么看配置 发布:2024-11-19 16:26:27 浏览:794
路由器密码无线路由器怎么设置 发布:2024-11-19 16:17:08 浏览:520
wifi直连android 发布:2024-11-19 15:59:58 浏览:939
android代码设置颜色代码 发布:2024-11-19 15:59:56 浏览:678