当前位置: 首页 > news >正文

校园论坛网站建设论文苏宁网站优化与推广

校园论坛网站建设论文,苏宁网站优化与推广,海外服务器官网,中国科技创新十大成果深度详见预编译头#xff0c;以vs编译器实现的预编译头管理为例 预编译头是为了节省庞大的编译时间#xff0c;采取的一种方法#xff1b;C标准并没有规定如何实现预编译头机制#xff1b;因此其具体实现方式由编译器供应商自行决定。 下面就以VS中观测的结果为例进行说明…深度详见预编译头以vs编译器实现的预编译头管理为例 预编译头是为了节省庞大的编译时间采取的一种方法C标准并没有规定如何实现预编译头机制因此其具体实现方式由编译器供应商自行决定。 下面就以VS中观测的结果为例进行说明 预编译头的最小作用单位是文件单位 vs中可以通过设置项目属性页创建/Yc.使用/Yu以及不使用预编译头的方式管理预编译功能以项目属性页设置的方式默认对所有cpp文件生效 另外vs中也可以对某个cpp文件设置文件属性页的方式只对某一个文件设置是否创建使用预编译功能 pch文件为预编译头文件的输出文件就是这个文件节省了编译时间但是这个文件决不是二进制的obj文件包含机器码那么简单pch文件是二进制的某种符号表具体由实现决定C标准未指定 stdafx.h;stdafx.cpp;pch文件的关系: stdafx.h文件是一般所说的预编译头文件在vs中这个stdafx.h文件更像是一种标记 以cpp文件为单位如果指定了创建或者使用预编译头则编译时编译器会从cpp文件由上至下查找出现#include“stdafx.h”的位置这个位置之前的所有#include xxx 以及 stdafx.h位置本身都被看成是预编译的作用区 如果cpp文件不使用预编译头则该cpp是否#include“stdafx.h”都无所谓就算包含了#include“stdafx.h” 这个stdafx.h也被当作一个普通的头文件看待而不对其施加预编译功能机制 stdafx.cpp文件就是一个普通的cpp文件不参与预编译功能机制没什么特别的与其他cpp文件一样提供定义并生成目标object只是约定俗成的可以把在stdafx.h里面用户自己声明的函数对应的实现可以放在这个stdafx.cpp中当然也可以放在其他cpp中不叫这个名字总之没啥特别的 vs下创建/Yc和使用/Yu预编译头的区别 这二种方式的cpp都需要从头检测#include“stdafx.h”标记如果没检测到就报错 如果检测到了对于以使用方式的cpp文件将去寻找预编译头输出文件并且把#include“stdafx.h”标记位置之前的部分包括标记位置本身全部替换成预编译头输出文件pch而这个pch可以是其他以创建方式的cpp生成的 那么以这种组织方式的问题是这个被替换了预编译头的cpp包含了哪些声明符号完全是由替换后的pch决定而不是由标记位置上显示书写的#include决定这会造成编译器上看到是否能够编译成功与编译器的智能识别不一致 【简单来说就是显示include了可能会报未识别的标识符因为pch里面没有而没有显示include智能识别intelligence有问题但是pch里面有符号编译能通过】【这是一种垃圾组织方式】 没有全部cpp都以使用方式预编译头的情况因为必须要有pch生成使用方式不会生成pch只会替换pch **若项目中的cpp文件有以创建方式预编译头也有使用方式预编译头则以创建方式预编译头的cpp文件只能有一个不能有多个**否则上面所说的cpp文件以使用方式触发的预编译替换机制失效 【因为只有一个创建预编译头的输出文件pch所以创建方式的cpp的include顺序肯定是同一的而其他以使用方式的cpp显示声明的include最终都要被替换这些cpp的include顺序就更无所谓了】 **如果所有cpp全都以创建方式预编译头**每个cpp依然还是要去寻找把#include“stdafx.h”标记并且整个项目只会生成一个pch文件但是这个标记和这个pch文件就像是“假的”一样不会发生预编译替换pch也不会被共同使用【事实上这种情况下生成pch到底是什么也不知道】 寻找标记和生成pch文件好像就是走个形式一样所有的cpp还是以他们自己显示声明的include 进行符号查找stdafx.h文件在这时候相当于一个普通的头文件 【简单来说这种情况形式上需要一个#include“stdafx.h”但是没有实际的预编译机制触发每个cpp符号查找以他们自己include的头文件为主甚至stdafx.h文件的位置都无所谓了因为根本没有实际的预编译功能触发此时stdafx.h就相当于一个普通的头文件】【这种情况下include顺序也就无所谓了】 采用预编译头时规范的组织方式: 虽然有预编译替换机制可以实现stdafx.h不一定非得出现在cpp最上方但是这种迷惑人的组织方式最好不要使用如果要使用预编译头最好的方式是把稳定的头文件include在stdafx.h文件的内部然后把stdafx.h放在cpp的最上方 vs预编译标头一致性规则 由于 PCH 文件包含有关计算机环境的信息以及有关该程序的内存地址信息因此应仅在创建 PCH 文件的计算机上使用该文件。【关于预编译头的一致性规则兼容等详细规则见msdn官方文档预编译头】
http://www.hkea.cn/news/14458787/

相关文章:

  • 盘锦建设工程信息网站贵金属交易平台app最新排名
  • 做网站广告推广平台网站推广应该怎么做
  • wordpress付费插件网站帝国cms网站建设
  • 免费授权企业网站源码wordpress 企业官网
  • 自己做网站兼职有免费的网站做农家院宣传
  • 手机版做网站寺院网站建设
  • 东莞专业做淘宝网站推广婚庆公司收费标准价目一览表
  • 建站的目的php制作网站后台
  • 网站后台选择优设网app
  • 上海网页制作与网站设计天猫网站建设
  • wordpress 主题 图优化设计练习册
  • 汉中做网站的电话软装设计公司简介
  • 如何做视频教程网站电子商务网站建设的相关流程
  • 用dw制作网站模板个人简历网页设计
  • 音乐介绍网站怎么做的网站设计师培训中心
  • 珠海企业医疗网站建设wordpress+vps+配置
  • 找外包公司做网站价钱课程网站的设计
  • 要加强网站内容的建设相对于网站根目录的的绝对路径
  • 电影网站制作模版网站服务器 试用
  • 企业网站建设的三种方式设计图纸用什么软件
  • 单页网站利润沈阳网站推广¥做下拉去118cr
  • 建设的基本流程网站坪地网站建设公司
  • 自己网站wordpress 4.8.2下载
  • 江苏省网站备案电话号码小程序的下载
  • 广西互联网推广百度小程序关键词优化
  • 东台建设局官方网站徽省建设干部学校网站
  • 网站开发与微信对接wordpress允许用户修改文章
  • 扁平化网站布局北京电商网站建设哪家好
  • 泉州台商区建设局网站网站开发汇报ppt
  • 研发网站要多久seo是什么的简称