很多时候你使用向导创建一个新的工程时(非空工程),会在源文件的最上面包含以个头文件:

#include "stdafx.h"

用最简洁的话来解释它的作用:

就是用来减轻我们的负担的,假设一个工程里有多个cpp文件,然后这些文件又都包含大量相同的头文件,这个时候如果你每次都要#include就很麻烦费力气,而如果你将它们都放在stdafx.h里面,每个源文件前面只需要包含一个”stdafx.h"就行了。这样不仅简洁,而且的确能提高运行效率(看下面的实现原理),其实大家都不陌生,stdafx.h就相当于一个自定义的头文件,因为它是在主目录下的。所以你甚至可以在里面声明接口。

实现原理:不同的是,主目录下还会有一个stdafx.cpp来预编译stdafx.h,它里面只有一行代码:

#include "stdafx.h"

这实际上是第一个编译的源文件,它会在debug目录生成一个.pch预编译头文件,使得其余cpp文件在编译时,系统不会再对每个#include进行重复的处理工作,而是直接阅读刚生成的.pch文件,这是不是提升了效率呢?嘿嘿。

头文件stdafx.h相关推荐

  1. c语言中的头文件stdlib.h的作用,C语言中你可能不熟悉的头文件(stdlib.h)

    C语言中你可能不熟悉的头文件(stdlib.h) C Standard General Utilities Library (header) C标准通用工具库(头文件) 此头文件定义了一些通用功能函数 ...

  2. BST(binary search tree)类型题目需要用到的头文件binary_tree.h

    下面是二叉搜索树需要用到的头文件binary_tree.h #include <stdio.h>struct BinaryTreeNode{int value;BinaryTreeNode ...

  3. tree类型题目需要用到的头文件tree.h

    下面是树类型题目需要用到的头文件tree.h,请包含在cpp文件中编译,而不是放在c文件中编译,比如查找树中两个节点的最低公共父结点的题common_parent_in_tree.cpp,编译它的方法 ...

  4. 头文件setjmp.h

    头文件<setjmp.h>定义了宏setjmp,并且为了绕过正常的函数调用和返回规则声明了一个函数和一个类型. 1.类型jmp_buf 它是一个数组类型,适合存储恢复一个调用环境所需的信息 ...

  5. vs项目中头文件(.h)静态库(.lib)和 动态库(.dll )的路径和配置

    在程序开发中,很多时候需要用到别人开发的工具包,如OpenCV和itk.一般而言,在vs中,很少使用源文件,大部分是使用对类进行声明的头文件(.h)和封装了类的链接库(静态.lib或动态.dll).如 ...

  6. 【转】C++中#include包含头文件带 .h 和不带 .h 的区别

    C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些 ...

  7. Microsoft Visual Studio下编译缺少头文件unistd.h解决办法

    许多在Linux下开发的C程序都需要头文件unistd.h,但VC中没有个头文件, 所以用VC编译总是报错.把下面的内容保存为unistd.h,可以解决这个问题. /** This file is p ...

  8. 【C++】C++中的头文件(.h)—详解(2)

    接上... [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 头文件中写些什么 在上篇博客中写到头文件本身不参与编译,但是它们被包含到源文件中 ...

  9. 【C++】C++中的头文件(.h)—详解(1)

    [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 前言 之前写过一篇<C++中头文件的使用>,那篇文章主要讲述C++中头文件的使用 ...

  10. VS2013/2012 下无法打开 源 文件“stdafx.h”的解决方法

    VS2013/2012 下无法打开 源 文件"stdafx.h"的解决方法 参考文章: (1)VS2013/2012 下无法打开 源 文件"stdafx.h"的 ...

最新文章

  1. 完全平方数(打表+二分)
  2. CodeForces 721C Journey
  3. ecshop 属性自动组合_【深度文章】结构设计中的荷载组合剖析(下)
  4. spring aop 申明了切面类之后,如何申明切入点呢?
  5. os_mbox.c(全)
  6. Oracle Database 21c 十大新特性一览 - New Features
  7. advanced ip scanner —— 局域网下 ip 及设备的扫描
  8. 大华摄像头解码 ffmpeg_解码矩阵配套液晶拼接屏系统解决安防行业设备过于复杂的问题...
  9. jvm分析工具JProfiler详解
  10. 微信小程序 ui框架使用
  11. HB哈勃与HB公链【尊皇社区】深度揭秘分析!
  12. Prometheus 结合cAdvisor、AlertManager、node-exporter 监控容器并实现邮箱告警
  13. 测评分享丨海思Hi3519AV100开发板功能测试
  14. pl/sql完全破解
  15. User must be authenticated with Spring Security before authorization can be completed.解决方法
  16. dr.oracle素颜霜好用吗,Dr.Glamour素颜霜BB霜哪个好用?这几个误千万不要踩
  17. DQN(Deep Q Network)及其代码实现
  18. swin transformer 转 onnx
  19. wpsppt加载项在哪里_《wps表格加载项在哪里》 WPS版的EXCEL中 加载宏和数据分析在哪?...
  20. java excel图片压缩_java将HSSFWorkbook生成的excel压缩到zip中

热门文章

  1. java汉字的编码_JAVA汉字编码问题
  2. 钩子(hook)编程
  3. 背包问题九讲笔记-01背包问题
  4. 华为数通笔记-DHCP
  5. Netty案例介绍-群聊案例实现
  6. emouse思·睿—评论与观点整理之四
  7. android hardware解析
  8. Java - BeanUtils.copyProperties 与 PropertyUtils.copyProperties 用法及区别
  9. 遥感原理与应用(一)什么是遥感?
  10. P3853 路标设置