boost编译很慢的解决方法
2015-04-08 16:10 youxin 阅读(2038) 评论(0) 编辑 收藏 举报场景:使用boost库的正则模块时出现编译超慢的情况,看了头文件
- #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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2014-04-08 sphinx插入代码
2013-04-08 linux终端光标的快捷键操作
2013-04-08 Lex入门2
2013-04-08 Lex入门
2013-04-08 转:ubuntu 12.04系统托盘不显示ibus输入法图标的解决方法
2013-04-08 ubuntu配置软件源
2013-04-08 virtualBox里面的系统和win7共享文件