00:01
关于C语言预处理命令的一个小结,我们来看一下,前面呢,我们已经把C语言的常用的预处理命令给大家使用了一下,我们来做一个总结。预处理,预处理指令呢,都是以这个井号开头的这个代码行。那么井号必须是该行除了任何空白字符外的第一个字符,也是,它必须写在最前面。就是我们写的这一行的顶头对井号,后面是指令的关键字,在关键字和井号之间允许存在任意个数的空白字符,所以它中间是可以空的,比如说你井号include对吧?后面呢,你这个地方你可以有空格,这是允许的。那么整个整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码进进行某些替换。那么我们常见的预处理指令有哪些呢?我们来总结一下,其实这些指令我们都用过了。
01:02
呃,一个井号,这个其实也是一个指令,只是这个是空指令,没有任何效果,Include include包含包含一个图文件,对吧,然后depend是不是讲过了宏定义on depend取消宏定义,还有这个if if if。No,还有else if n if是不是也也学过了这几个,我们是在哪里哪里用过的。是不是我们在前面写了一个为了,嗯,就是为了能够跨平台去每每隔五秒隔五秒输出hello,上硅谷,我们是不是用到这些预处理指令了,那么看一下。井号一是表示如果给定的条件为真,则编译下面代码是不是这样子的?If DeFine就是说如果宏已经定义了,则编译下面的代码,这个if no方是如果宏没有定义,则编译下面一个是定义了怎么样,如果是没有定义怎么样?
02:02
是不是前面那个案例都用过呀?还有这个else if就是如果条件不为真是个匹配的,还有N的if结束,它是表示一个结束,呃,这个if else的条件编一块。这些我们在哪里用到过呢?我们来看一下,其实是在这儿有讲过的,在哪里呢?我记得是在。看一下。我记得是在这儿讲过的。有一个案例,我看案例在哪里去了。看一下,哎,就是这。是不是在这里我们看用到if了,就说这个条件如果为真。啊,或者就是说你定义过这个WIN32,我就走下面代码L是衣服对不对,如果这个位置我就走下面代,这是结束。那么取消,还有刚才我们所说的取消红定义,其实都也都是用过的。没有问题,好,这个说到这最后呢,我们再说一下预处理指令使用的注意事项,其实有很多前面已经讲过了,我们再梳理一遍,预处理指令是C语言特有的功能,它在这个原程序正式编译之前由预处理程序完成,现在是不是听起来更清晰了?
03:14
对吧?那么程序员在程序中使用预处理命令来调用这些功能,宏定义可以带有参数,是不是带参宏定义?宏定义是以时参代替行商,而不是直传力。不是值传递啊,不是像我们想用的我我我一个函数传给他一个N,它就传,它只是替换,为了避免宏替换发生错误,是不是?一般来讲我们字符串出现的形参都用小括号括起来。字符当中出现的形参两边用需要加上小括号。文件包含是预处理的一个重要功能,它可以把多个源文件连接成一个源文件进行编译,最终生成一个目标文件。是不是这样讲的?条件编译允许只编译原程序中满足条件的程序段,使生成的目标程序更加短,从而减少内存开销,提高效率。是不是前面我们讲的为了实现linuxx?
04:14
和Windows,我们是不是讲过,在不同的系统下边,他们生成的代码也是不一样的,因为你用的是条件编译,不是,是不是老师还讲过这个事情,我说如果是在Windows下会生成怎样的一段源代码,如果是在Linux下面会生成怎样的一段源代码,他会把那些不需要的给你拿掉,从而呢减少减少这个目标程序。减少目标目标程序的大小,第六个使用预处理功能,便于我们程序的修改、阅读、移植,还有调试,实现模块化编程,这是对预处理指令使用注意事项的一个再说明,那现在呢,我把这一块给大家简单梳理到笔记里面就OK了。这些刚才梳理的内容,其实呢。
05:02
其实我们在前面讲宏定义呃,预处理命令的时候,其实都讲过,只是在这里在系统的走一下而已哈,走一下而已,其实都讲过的。放在这儿。好,这是命令的一个总结,然后呢,下面是我们常见的预处理的指令,我也给大家梳理到这边好不好?好,这是常见的预处理指令,有哪些呢?有这些。我直接给大家复制过来就可以了,很简单。放这啊,大家一看就明白是怎么回事咦?上哪去了?好,放在这大家一目了然。紧接着我们在后面还整理了梳理一下预处理指令使用的时候需要注意的地方。好,这是预处理指令需要注意的地方,梳理到这里。给他编一个号码。好,那么各位同学关于预处理这个章节的所有内容呢,我们就给大家讲解到这里,应该说这块讲的已经比较细致了。
06:05
对于我们去做程序开发,还有去应付一个C语言的二级考试,那是绰绰有余,但是你一定要认真的体会老师讲的每一个知识点,把它掌握到手。各位,关于这个预处理命令的章节,我们就讲解到这里。
我来说两句