C++知识总结(20)
来源:互联网 发布:相机滤镜软件下载 编辑:程序博客网 时间:2024/06/07 14:17
96编译型语言和解释型语言的区别
关于“编译型语言”和“解释性语言”的区别
编译型是一次性编译成“二进制”(都是变成二进制),以后用时不用再编译了
解释性语言是边编译边执行,根据执行规则(脚本语言规则)来告诉计算机要作什么
97 程序由源文件到可执行文件经过哪几步?分别做些什么
1.编辑:也就是编写C/C++程序。
2.预处理:相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件无异,只是内容上有所不同。
3.编译:将预处理完的文件进行一系列词法分析、语法分析、语义分析及优化后,产生相应的汇编代码文件。
4.链接:通过链接器将一个个目标文件(或许还会有库文件)链接在一起生成一个完整的可执行程序。链接程序的主要工作就是将有关的目标文件彼此相连接,也就是将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的这些目标文件成为一个能够被操作系统装入执行的统一整体。在此过程中会发现被调用的函数未被定义。
98 程序由源文件到可执行文件经过哪几步?分别做些什么
1.编辑:也就是编写C/C++程序。
2.预处理:相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件无异,只是内容上有所不同。
3.编译:将预处理完的文件进行一系列词法分析、语法分析、语义分析及优化后,产生相应的汇编代码文件。
4.链接:通过链接器将一个个目标文件(或许还会有库文件)链接在一起生成一个完整的可执行程序。 链接程序的主要工作就是将有关的目标文件彼此相连接,也就是将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的这些目标文件成为一个能够被操作系统装入执行的统一整体。在此过程中会发现被调用的函数未被定义。
99 什么是预编译?何时需要预编译?
预编译又称为预处理 , 是做些代码文本的替换工作。
处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。
主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。
C 编译系统在对程序进行通常的编译之前,首先进行预处理。
c 提供的预处理功能主要有以下三种:
1 )宏定义
2 )文件包含
3 )条件编译
何时需要预编译:
总是使用不经常改动的大型代码体。
程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个“预编译头”
100. 在C++程序中调用被C编译器遍以后的函数,为什么要加“extern C”
C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与c语言的不同。
- C语言知识总结(一)
- c语言知识总结(一)
- C语言知识总结(二)
- C语言知识总结(三)
- C一些知识总结
- C一些知识总结
- keil c 知识总结
- c语言 知识总结
- keil c 知识总结
- C Assignment2 知识总结
- C语言知识总结
- C高级知识总结
- C语言知识总结
- C语言知识总结
- C语言知识总结
- C语言知识总结
- C语言知识总结
- c语言知识总结
- 300W数据集测试MTCNN的landmark效果代码
- 数学建模 模拟退火入门介绍
- 在deepin(linux)下安装matlab2017a
- 一份KS文件
- Java内部类的概述
- C++知识总结(20)
- Windows XP硬盘安装Ubuntu 12.04双系统图文详解
- Java二十三种设计模式
- 有趣的排序
- C++知识总结(21)
- android MVP + dagger2 + Retrofit + Rxjava+okhttp android基础项目框架搭建(3)--完美实现
- IntelliJ 错误提示,学习怎么看错误信息
- 棋牌游戏被竞争对手攻击的几种形式
- 关于WAMP3.0.6的配置使用以及问题解决