1、一个程序从源文件编译生成可执行文件的步骤:预编译 --> 编译 --> 汇编 --> 链接(1)预编译,即预处理,主要处理在源代码文件中以“#”开始的预编译指令,如宏展开、处理条件编译指令、处理#include指令等。(2)编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析以及优 ...
分类:
编程语言 时间:
2018-12-01 15:06:23
阅读次数:
224
#if #ifedf #ifndef —般情况下,C语言源程序中的每一行代码.都要参加编译。但有时候出于对程序代码优化的考虑.希望只对其中一部分内容进行编译.此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译! 条件编译是C语言中预处理部分的内容, ...
分类:
编程语言 时间:
2018-11-27 14:50:13
阅读次数:
146
在BASM的语句中,每一个表达式都必须能够在编译器中计算出准确的值或者寻址地址。如果不能满足这个条件,语句不会被编译通过。事实上,对于指令系统来说,每一个表达式都最终对应于一个确定的操作数。 因此,表达式的类别(Expresion classes),按表达式的计算结果可分成三类:寄存器、立即数和内存 ...
分类:
其他好文 时间:
2018-10-31 10:43:38
阅读次数:
182
条件执行 顺序结构 代码从上到下从左到右依次执行 分支结构 判断结构 逻辑值为true执行代码块 选择结构 选项的值只能是byte、short、cahr、int四种类型,java1.7开始支持String类型和枚举类型 如果case之后没有break,那么从匹配的case开始依次往下执行. 如果每个 ...
分类:
其他好文 时间:
2018-10-26 16:22:50
阅读次数:
240
编译器四个步骤 1. 预处理:头文件展开和宏定义展开条件编译 2. 编译:语法检查,生成汇编代码 3. 汇编:声明目标代码,无法执行,因为缺少链接 4. 链接:链接动态库,比如windows中的dll文件 为什么要声明变量 提前说明占用多大空间。 原码 补码 反码 原码和普通数字的区别:负数最高位是 ...
分类:
编程语言 时间:
2018-10-22 20:17:55
阅读次数:
186
一、前言及参考资料 C Preprocessor即所谓的C预处理器,C++也继承了C的预处理程序,但在C++语言的设计与演化一书中,C++的设计者Bjarne Strustrup提及他从未喜欢过C预处理器,认为C预处理器尤其是其中的宏定义存在许多缺陷,破坏了程序设计语言的类型系统及变量的作用域边界等 ...
分类:
编程语言 时间:
2018-10-12 01:31:52
阅读次数:
196
第15课 - 编译过程简介 1. 编译器做了什么 (1)预编译: l 处理所有的注释,以空格代替。 l 将所有的#define删除,并且展开所有的宏定义。 l 处理条件编译指令#if,#ifdef,#elif,#else,#endif。 l 处理#include,展开被包含的文件。 l 保留编译器需 ...
分类:
编程语言 时间:
2018-09-26 16:12:06
阅读次数:
168
? 数据库 1.数据库的索引有哪些? (1)B树索引:利用B树作为底层数据结构的索引,在B树索引中保存索引列的值和数据表的对应行的ID,每一个叶子结点都存放着一个索引列的值和数据表对应行的ID,通过这个可以实现快速查询。 (2)位图索引:当字段的基数很低时,需要使用位图索引(效率较高),将某个字段所 ...
分类:
编程语言 时间:
2018-09-14 23:04:48
阅读次数:
139
条件编译的基本概念: 条件编译就是利用预处理器的功能来对代码进行一些删除操作。 程序示例: 运行结果如下: 单步编译的结果如下: 条件编译的本质: 通过命令行定义宏: 程序与运行结果如下: 如果我们判断一个宏标识符是否存在,需要使用#ifdef指令。示例如下: 执行单步编译: 中间结果如下: ...
分类:
其他好文 时间:
2018-08-26 12:32:14
阅读次数:
150
All在项目文件里面,这一行代表引用包,可是有三个子项目,需要说一下:IncludeAssetsExcludeAssetsPrivateAssets这三个是什么意思?中文翻译,Assets是资产,反正无法理解说的是什么鬼。一开始我以为它可以定制引用库里面那个类,搞了好久才发觉这是一个部署选项。可以取... ...
分类:
其他好文 时间:
2018-08-22 13:19:37
阅读次数:
409