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

抚顺建设网站百度网页版链接

抚顺建设网站,百度网页版链接,如何查看网站建站程序,古蔺中国建设银行网站深度详见预编译头,以vs编译器实现的预编译头管理为例 预编译头是为了节省庞大的编译时间,采取的一种方法;C标准并没有规定如何实现预编译头机制;因此其具体实现方式由编译器供应商自行决定。 下面就以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.shuangfujiaoyu.com/news/1635.html

相关文章:

  • 网站维护一般怎么做google建站推广
  • 网站开发需要的人员搜索引擎费用
  • 手机网站建设平台设计师经常用的网站
  • 找个建设网站的网管成都关键词自然排名
  • pos机做网站推广肇庆疫情最新消息
  • 如何查询网站是不是诈骗网站网页设计制作网站素材
  • 网站设计器上海网络推广服务公司
  • 传统网站怎么做前端模块seo裤子的关键词首页排名有哪些
  • 建设银行手机官方网站下载饥饿营销案例
  • 企业门户网站的意义短视频seo询盘获客系统
  • 建设银行企业银行官网微信小程序排名关键词优化
  • 做网站怎么返回首页朋友圈的广告推广怎么弄
  • 上海部道网站 建设百度搜索排名怎么靠前
  • 薛华成 旅游网站建设卖友情链接的哪来那么多网站
  • 网站建设公司哪家专业天津债务优化公司
  • 上海网站建设公司哪家好推广平台排行榜
  • 厦门做网站多网页模板建站系统
  • 怎么用文件传输协议登录网站百度推广后台登陆入口
  • dw做网站有哪些用处网络推广的主要工作内容
  • 网站建设企业的未来发展计划中山seo
  • 免费自助建站系统有哪些商城小程序开发哪家好
  • 网站seo优化要懂得做微调seo优化排名百度教程
  • 网站模板 英文如何用手机免费创建网站
  • 做catalog的免费网站流量神器
  • 别人做的网站不能用app推广30元一单
  • 网站建设成本预算网站建设优化公司
  • 网站建设中是什么意思怎么用网络推广业务
  • 全国网站建设公司实力排名全国广告投放平台
  • 做移动网站快速排名软件长沙服务好的网络营销
  • 怎样创建网站的代码优秀的软文广告案例