zoukankan      html  css  js  c++  java
  • boost编译很慢的解决方法

    场景:使用boost库的正则模块时出现编译超慢的情况,看了头文件

     

    1. #include <boost/regex.hpp>  

    的引用关系,它依赖的头文件相当多,这应该就是根本原因吧。

    目前知道可行的方案只有使用预编译头。

    vs放到stdafx.h后,就编译一次,然后其他需要的地方,会去一个本地的pch文件里.

    一些。”

    “VC创建项目时自动创建的预编译头文件,在编译其他文件之前,VC先预编译此文件。头文件stdafx.h引入了项目中需要的一些通用的头文件,比如window.h等,在自己的头文件中包括stdafx.h就包含了那些通用的头文件。

    所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。

    预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。

    编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。”

    如果你想从理论上了解StdAfx的作用的话,可以参阅以下文章:

    《关于#include "stdafx.h"》

    http://blog.csdn.net/magicsutra/archive/2007/10/24/1842301.aspx

    《百度百科——stdafx》

    http://baike.baidu.com/view/1499221.htm?fr=ala0_1

    g++也可以使用,参考:

    http://blog.csdn.net/infoworld/article/details/8236787

  • 相关阅读:
    防止重复点击
    刷新当前页面的几种方法
    PHP删除数组中空值
    json转化数组
    两个不能同时共存的条件orWhere查询
    SQLSTATE[42000]
    laravel一个页面两个表格分页处理
    Hash::make与Hash::check
    unbind()清除指定元素绑定效果
    二级联动
  • 原文地址:https://www.cnblogs.com/youxin/p/4402713.html
Copyright © 2011-2022 走看看