程序的基本流程如图: 1. 预处理 预处理相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件无异,只是内容上有所不同。 读取C/C++源程序,对其中的伪指令(以#开头的指令)进行处理 读取C/C++源程序 ...
分类:
其他好文 时间:
2017-10-11 20:20:36
阅读次数:
163
写过C语言的朋友都熟悉#include,在打影helloworld”这样一条语句也用上这条指令。但是,说熟悉它,只是表面熟悉,更多感觉是既熟悉又抽象陌生,结果也就只是不知道为什么的背诵了。抽象、熟悉而陌生,使得#include成为“最熟悉的陌生人”。试着从另外的角度来深入理解它。1:..
分类:
编程语言 时间:
2017-09-22 17:53:43
阅读次数:
205
上一篇讲到#include这个预编译指令,还有个常用的预编译指令:#define。它的表面意思是定义,通常被说成“定义常量”,但其真正作用是替换;如:#defineSUCCESS1这整句话是定义一个宏替换,其中SUCCESS是宏名,后面的内容是值;使用方式:在接下来的程序中直接使用SUCCESS即可..
分类:
编程语言 时间:
2017-09-22 17:50:22
阅读次数:
162
out对象的其他的重要的方法 1.newLine():用于输出一个换行符 2.flush():强制输出服务器中里的数据。如果预编译指令中page的autoFlush的属性的值设置为true,那么JSP程序会把输出数据缓存在服务器的缓冲区里,知道程序结束或者缓冲区以及充满了数据,服务器会自动把缓冲区中 ...
分类:
其他好文 时间:
2017-09-22 00:56:16
阅读次数:
136
写过C语言的朋友都熟悉#include,在打影helloworld”这样一条语句也用上这条指令。但是,说熟悉它,只是表面熟悉,更多感觉是既熟悉又抽象陌生,结果也就只是不知道为什么的背诵了。抽象、熟悉而陌生,使得#include成为“最熟悉的陌生人”。试着从另外的角度来深入理解它。1:..
分类:
编程语言 时间:
2017-09-16 18:41:41
阅读次数:
137
宏表达式在预编译期被处理,编译器不知道宏表达式的存在。 宏表达式没有任何的调用开销 宏表达式中不能出现递归定义。 C语言中强大的内置宏 注意:宏定义对空格比较敏感 #undef 取消前面定义的宏 条件编译是预编译指令命令,用于控制是否编译某段代码。 条件编译的意义: 1.条件编译使得我们可以按不同的 ...
分类:
其他好文 时间:
2017-09-15 16:42:52
阅读次数:
176
在C语言中有条件编译指令,常见的有: #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编译下面代码 #ifdef 如果宏已经定义,则编译下面代码 #ifndef 如果宏没有定义,则编译下面代码 #elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 ...
分类:
编程语言 时间:
2017-09-13 13:15:05
阅读次数:
136
// Person.h #import @class Car; //#import "Car.h" // 由于import是一个预编译指令, 他会将""中的文件拷贝到import所在的位置。 // 并且import有一个特点, 只要""中的文件发生了变化, 那么import就会重新拷贝一次(更新操作... ...
分类:
其他好文 时间:
2017-08-25 15:59:22
阅读次数:
178
逛知乎途中,发现了一些C++变态用法,现在记录下来。 第一:打印的结果是 4,5。 也就是说第八行的代码++i没有执行。的确没执行。原因是sizeof是预编译指令,在编译阶段就执行了。 第二:打印出来的结果是9876543210. 体会-->符号的用法。 第三:打印结果是A。 这里将一个C风格字符串 ...
分类:
编程语言 时间:
2017-08-16 18:24:03
阅读次数:
197