注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
wangfwk的个人空间 https://home.eeworld.com.cn/space-uid-315261.html [收藏] [复制] [分享] [RSS]
日志

预处理命令#include的另一种思考

已有 894 次阅读2011-4-10 17:04

  #include对于程序员来说,在程序中都是存在的一个标识。它的目的就是将其他的程序中的变量以及函数调入自己写的程序中去,这样代码的重用性就大大提高了。就像我们喜欢在调试的时候,用printf()来打印我们要调试的变量等信息,那么我们就很容易的想到在程序开头得地方写上#include<stdio.h>,printf()函数是在stdio.h声明的。在程序设计的时候,在#include<文件名>或#include "文件名",中的文件类型可以是.C也可以是.h等程序格式的文件。在#include来包含.C文件的时候,那么就会将.C中的信息全部调入到源文件中,而.h的文件中也是将其中的信息全部拷贝到源文件中去,但是在.h文件中声明的函数,则不是在预处理的时候就将其代替,而在告诉编译器这个函数是由外部文件中定义的,那么就必须将.h中对应的.c文件中的进行编译,然后在链接的时候,将这些.o文件按有序的链接条件进行链接。而.C文件中的函数则不用将各个文件都编译成.o文件,只是将其中的内容全部拷贝到源程序中。所以在编译之后才会有链接过程,链接就是将这些目标程序和库文件的目标文件进行链接,所以大家不需要太对链接过程感到很难。
  大家只要记住程序是一条条语句进行有顺序执行的,所以在分析代码的时候就按照这种顺序来进行分析。程序是有结构的,大家一定要遵循着这个结构写程序,那样写出来的程序就不是那么复杂,在看程序的时候再复杂的程序也不是那么难了。
  将预处理的搞清楚的话,对我们写的程序的代码量有大大的减少,以及运行效率也大大提高,其实大家都错了,指针不是最难的,而预处理才是最难的,它要结合到链接和编译几个过程的分析,指针只不过是一个变量,大家学C的时候要放开这种思想的禁锢。
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章