当前位置:首页 » 编程语言 » 在c语言中的目标
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

在c语言中的目标

发布时间: 2022-11-16 12:12:03

c语言中,目标文件是如何变成可执行文件的

用开发工具VC++,源代码编译后生成目标文件xxx.obj,然后经过链接变成可执行程序xxx.exe,用VC++的话,在你工程的存储路径下有一个Debug文件夹,里面存放的就是可执行程序exe。你每次运行的时候,运行的就是这个exe文件。

② C语言中目标程序是什么

C语音 的编译分既不。我们开始都是字符文件,就是源文件。第一步先把源文件翻译成一种中间代码,这就是目标文件,然后再把目标文件翻译为机器代码,这就是可置执行的EXE文件了。所以说,目标就是一个中间程序。

③ 什么是C语言

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。[2]
二十世纪八十年代,美国国家标准局为了避免各开发厂商用的C语言语法产生差异,给C语言制定了一套完整的美国国家标准语法,称为ANSI C。作为C语言最初的标准。[3]2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。

例:
#include <stdio.h>

int main() {
printf("Hello,world!");

return 0;
}

编译运行将输出: Hello,world!

④ 汇编语言与C语言的目标代码

不知道你这个几倍甚至几十倍的数据是怎么得来的。C语言作为一种十分接近汇编的高级语言,效率是十分高的,绝对没有你说的这么夸张。甚至以我的经验,一个好一点的C语言编译生成的代码,会略少于汇编,这个是我实际工作中得到的经验。当然,我们讨论的前提是,C语言与汇编,两者做同样的事情。

单就目标代码的尺寸来说,C语言的效率,在允许最高级别的全局优化的情况下,通常比用汇编要少一些,因为C语言编译时可以分析整个程序的结构,将所有可以节省的地方都节省下来。而人工汇编很难做到全局的优化,最多只能局部的优化。假设你的程序中有50个函数,人工很难全部优化一遍,如果调用结构有变化,所有工作要从头来过,这根本 是不可能的,而自动优化则很简单,重新编译 一下就可以了。

其实,汇编的高效主要是指的代码的执行效率高!这个主要是因为人工编写汇编,会明确知道一些C语言编译不知道的细节,说白了,是人比机器多知道一些可以优化的信息,有了这些信息,人工可以有意识的控制关键点的处理效率,从而整体上提升效率。
比如,某个循环的内部处理,你可以通过仔细分析,然后用汇编来[写,少用一个周期,循环100000次,就可以节省100000个周期。假设你把循环内部的代码数节省100个字节,但无论循环处理多少次,目标代码还是只少了100个字节。

你所谓的C语言目标代码较多,可能是这几个原因,
首先,C语言编译时有不同的优化级别,通常在调试的时候优化级别不会设定的很高,所以生成的代码会有一些冗余,这主要是为了调试方便。
其次,C语言在生成目标文件时,常会在最终的目标中链接一些启动代码,用于配置运行环境等,而汇编写的程序中,可能没有这一部分功能,所以在小程序时,会显的C语言的目标文件比较大,其实是因为它多做了好多事。这一部分,可以通过控制链接来加以控制去掉某些不需要的功能。
还有一点,C语言只按基本数据类型来操作,比如,用汇编你可以写三个字节的加法,而用C语言就很难做到这一点,只能用4个字节来做。如果你有一个中断程序要处理输入脉冲的计数,最大值需要计数1,000,000的情况,8位机用C语言来处理只能用4字节加1操作,而用汇编则可以写三个字节的加法。这种情况可能汇编确实会精简一些,但很有限。

⑤ C语言中的源程序文件和目标文件的扩展名分别是

源程序扩展名:
.c
目标程序扩展名:
.obj
可执行程序扩展名:
.exe
查看这些文件的扩展名,可以通过在c编译环境中新建一个完整的工程,输入程序完成编译与连接后就可以得到以上那些文件,在工程文件中可以查看。

⑥ 在C语言中,++是什么含义

单独的++n和n++跟n=n+1没有区别,就是对整型变量n加1
放在具体表达式中会有区别
n=1;
a=n++*2 //先计算出表达式的值,再对n自增。结果a=2;n=2
a=++n*2 //先对n自增,再计算出表达式的值。结果a=4;n=2
不知道你看懂了没。

⑦ 在C语言中函数包括哪些部分

包括返回值,函数名,形参列表和函数体四个部分。
例如 :
int findmin(int a[],int n){
//函数体
return min;
}
以上函数int 是返回值,findmin是函数名, int a[] int n是形参列表

⑧ C语言中的源程序文件和目标文件的扩展名分别是

C语言源代码文件一般扩展名为.c,目标文件扩展名一般为.obj,生成的可执行文件扩展名一般为.exe。

不同平台的C源代码扩展名都为.c,但目标文件扩展名不同,例如:在Linux平台上,生成的可执行文件一般扩展为.out。

源文件:这是指由源程序和数据构成的文件。通常由终端或输入设备输入的源程序和数据所形成的文件都属于源文件。它通常是由 ASCII 码或汉字所组成的。

目标文件:这是指把源程序经过相应语言的编译程序编译过,但尚未经过链接程序链接的目标代码所构成的文件。它属于二进制文件。

可执行文件:这是指把编译后所产生的目标代码再经过链接程序链接后所形成的文件。

(8)在c语言中的目标扩展阅读:

源文件,目标文件,可执行文件的联系:

源文件就是用汇编语言或高级语言写出来的代码保存为文件,目标文件是指源文件经过编译程序产生的能被cpu直接识别二进制文件。将目标文件链接起来就成了可执行文件。

源代码与源文件:

源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。

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

参考资料来源:网络-源文件



⑨ 在c语言中算法分析的目的是

分析算法的效率以求改进。
算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。

⑩ !=!:!=!

“!”逻辑非运算符,逻辑操作符一般将其操作数视为条件表达式,返回结果为Bool类型:

  • “!true”表示条件为真(true)。

  • “!false”表示条件为假(false)。