导航:首页 > 源码编译 > c语言中编译程序的功能是

c语言中编译程序的功能是

发布时间:2024-11-12 13:37:07

⑴ C语言中编译程序和连接程序的作用和原理是什么关键是原理,越详细越好,谢了~

详细了你也不一定能理解,你对底层的了解程度如何?

简单的来说编译就是生成语言无关的obj文件,连接就是将所有的obj文件连接起来,查找里面的符号按照COFF文件的标准生成dll或EXE。

⑵ c语言程序,预编译的作用是什么

预编译又称为预处理 , 是做些代码文本的替换工作。
处理 # 开头的指令 ,
比如拷贝 #include 包含的文件代码,
#define 宏定义的替换 , 条件编译等,
就是为编译做的预备工作的阶段,主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。
c 编译系统在对程序进行通常的编译之前,先进行预处理。 c 提供的预处理功能主要有以下三 种:
1)宏定义 #definemin(a,b)((a)>(b)?(b)::(a))
2 )文件包含 如:#include<stdio.h>
3 )条件编译#ifndefGRAPHICS_H
#defineGRAPHICS_H
*****
#endif

#ifdefGRAPHICS_H
*****
#else
*****
#endif

⑶ C语言中条件编译的作用

条件编译属于三种宏定义中的一种,条件指示符的最主要目的是防止头文件的重复包含和编译,例如:一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现变量重复定义的错误


条件编译常用的有四个预处理命令:#if、#else、#elif、#endif。

#if指令的形式为:

#if常量表达式
代码块
#endif

#if后面的常量表达式为值,则编译它与#endif之间的代码,否则跳过这些代码。指令#endif标识一个#if块的结束。


#else被使用来标志#if的末尾和#else块的开始。这是必须的,因为任何#if仅有一个#endif与之关联。


#elif意指"else if",它形成一个if else if嵌套语句用于多种编译选择。#elif后面跟一个常量表达式,如果表达式是真,则编译其后的代码块,不对其他#elif表达式进行检测,否则顺序测试下一块。常见的形式如下:

形式1:

#ifdef标识符
/*程序段1*/
#else
/*程序段2*/
#endif

它的作用是当标识符已经由#define定义过了,则编译程序段1,否则编译程序段2,也可以使用简单形式

#ifdef标识符
/*程序段1*/
#endif

形式2:

#ifndef标识符
#define标识符
/*程序段1*/
#else
/*程序段2*/
#endif

它的作用是当标识符没有由#define定义过,则编译程序段1,否则编译程序段2 ,也可以使用简单形式

#ifndef标识符
#define标识符
/*程序段1*/
#endif

形式3:

#if表达式
/*程序段1*/
#else
*程序段2*/
#endif

它的作用是 当“表达式”值为真时编译程序段1。否则则编译程序段2,也可以使用简单形式

#if表达式
/*程序段1*/
#endif

形式4:

#if表达式1
/*程序段1*/
#elif表达式2
/*程序段2*/
............
#elif表达式n
/*程序段n*/
#endif

它的作用是当“表达式1”值为1时编译程序段1,表达式2的值为真是编译程序段2,否则依次顺序判断到表达式n。


最后,条件编译的条件是一个常量表达式,支持逻辑与&&和或||运算。以上四种形式的条件编译预处理结构都可以嵌套使用,

标识符: 在理论上来说可以是自由命名的,但每个头文件的这个标识符都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h。

#ifndef_STDIO_H_
#define_STDIO_H_
/*程序段*/
#endif

⑷ C语言编译程序的功能是(计算机二级考试题)

选D
编译其实就是翻译
把人看的 翻译成机器看的。
其实 A已经算对了
不过 有D 这个更完善。
C程序不是单独编译的,还要加上系统库。

⑸ C语言编辑编译连接的作用是什么

C语言编辑的作用是检查语法,制作C语言的源文件和头文件,生成汇编代码。

C语言编辑的作用是将汇编代码转换机器码。在这一步中,会对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。

C语言链接的作用是将机器码链接到一起生成可执行程序。这一步会对文件之间的关联做检查,如果出错,将不会生成可执行程序,也就无法执行。

(5)c语言中编译程序的功能是扩展阅读:

C语言链接时,将源文件中用到的库函数与汇编生成的目标文件.o合并生成可执行文件。该可执行文件会变大很多,一般是调用自己电脑上的静态库。

静态库和应用程序编译在一起,在任何情况下都能运行,而动态库是动态链接,文件生效时才会调用。很多代码编译通过,链接失败就极有可能在静态库和动态库这出现了纰漏,要视情况解决。缺少相关所需文件,就会链接报错。这个时候就要检查下本地的链接库是不是缺损。

⑹ C语言编译器是用来做什么的

1.
C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。
2.
C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

阅读全文

与c语言中编译程序的功能是相关的资料

热点内容
压缩包下载网 浏览:307
win8php安装教程 浏览:653
程序员相亲有没有缘分 浏览:692
php技术发展趋势 浏览:863
比心怎么连接聊天服务器 浏览:242
oppo怎么把app设置加密 浏览:205
程序员眼里的钉子 浏览:588
功能强大的单片机 浏览:487
pic单片机波特率 浏览:479
硬盘加密已暂停再拔出 浏览:777
linux内核延时 浏览:705
eclipsejava源码 浏览:181
备用dns服务器不填会造成什么 浏览:464
Pls分类python 浏览:91
溯源码什么时候实行 浏览:184
苹果app格式怎么写 浏览:499
plc加密解密方法 浏览:944
phpboolean 浏览:841
linux系统如何开ftp服务器 浏览:982
手机授权了一个番茄app怎么解除 浏览:816