gcc如何生成预编译头文件(.gch)】的更多相关文章

1 建立comm.h 2 main.c中包含comm.h : #include "comm.h" 3 gcc -o comm.h.gch comm.h(低版本gcc会有bug) 4 gcc main.c 即可 还可以用-H选项查看实际用到的头文件:gcc -H main.c…
预编译头文件的由来 也许请教了别的高手之后,他们会告诉你,这是预编译头,必须包含.可是,这到底是为什么呢?预编译头有什么用呢? 咱们从头文件的编译原理讲起.其实头文件并不神秘,其在编译时的作用,就是把自己的所有内容直接“粘贴”到相应的 #include 语句处.其实,编译器在编译你的程序的时候,所做的第一件事,也就是展开所有的 #include 语句和 #define 语句. 头文件的出现,固然给书写程序带来了很大方便.可是到了 Windows 时代后,慢慢就呈现出一些问题了.几乎所有的 Win…
1.         预编译头文件 作用:提高编译效率.预编译头文件(扩展名为.PCH),是为了提高编译效率而使用的一种方法,把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.避免每次编译时去重新编译没有修改的所有文件,这些预先编译好的代码可以是任何的C/C++代码. 为什么需要预编译头文件?一言以蔽之:提高编译速度.一般地,编译器以文件为单位编译,如果修改了工程中的一个文件则所有文件都要重新编译,包括头文件里的所有东西(例如Macro宏,Preprocessor预处理),而VC程序…
转载:https://blog.csdn.net/lovemysea/article/details/74858430 一.预编译头文件使用经验: 如果预编译头文件被正确使用时,它确实大大提高我们编程的效率(你工作中,有多少时间是在等编译完成?很多吧,这个时候一般都很无聊,无奈,浪费时间).但是他太容易用错了. 下面是几种常见的错误用法. 1) 在预编译头文件里include自己的头文件(当然, 如果你的头文件不经常变化, 也可以) 原因:自己的头文件一般会经常变, 便利后导致预编译的东东重新编…
预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度.首先在.pro文件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PRECOMPILED_HEADER = pch.h 其中pch.h头文件即为自定义的预编译头文件. 指定临时文件生成目录,使项目文件夹更干净 QT默认情况下把所有的编译中间文件都生成到debug和release文件夹里.可以在.pro文件中加入: MOC_DIR = tmp/moc RCC_DIR = t…
MinGW编译器: 1.打开工程文件,在工程文件浏览其中,在你要设置为预编译的头文件上,点击鼠标右键,选择“属性(properties)”  你会看到一个多页面的属性框,选择“构建(build)”页面,将“编译文件(complie file)”选项勾上,其默认状态为没有勾 2.从菜单->工程(project)->构建选项(build options)  会跳出一个多页面属性框,在此你选择工程全局设置(project name),注意不是调试(debug)或者发布(release),然后“编译器…
对C++和VS2010非常不熟悉,但是无奈赶着项目,只能看了点基础就上手,然后就碰到这个问题了. 原因分析: http://bbs.csdn.net/topics/340191697?page=1 编译器一般都是以文件为单位进行编译,如果修改了工程中的一个文件,那么将导致所有文件都要从新编译,这样的编译将耗费很长时间.      为了提高编译速度,将那些不常被修改,比较稳定,文件单独包含到一个指定的头文件中, 然后生成一个预编译头文件 *.pch . VC中默认的头文件为 stdAfx.h, 但…
一.解决方法 右键点击你创建的项目,选择“属性标签”点击属性,弹出“项目属性页”,在左侧找到以下位置  配置属性 -->  C/C++  --> 预编译头,并选择它:在右边的菜单中选择 “创建/使用预编译头”中的“不使用预编译头文件”点击“确定”按钮退出即可. 二.原因分析 编译器一般都是以文件为单位进行编译,如果修改了工程中的一个文件,那么将导致所有文件都要从新编译,这样的编译将耗费很长时间.      为了提高编译速度,将那些不常被修改,比较稳定,文件单独包含到一个指定的头文件中, 然后生…
预编译头文件: 最常见的使用场景就是 StdAfx.h 文件,在这个文件中包含常用的头文件,比如windows.h,cstdio,string,别的 .cpp 文件去包含 StdAfx.h 头文件.编译的时候 StdAfx.h 尽管被多个 .cpp 包含,但只会编译一次.加快了编译速度. StdAfx.cpp 专门用来生成预编译文件,StdAfx.cpp 里只有一行代码 #include "StdAfx.h", 编译 StdAfx.cpp 会产生一个 .pch 文件.别的 .cpp 文…
1.解决什么问题? C++ 编译器是单独,分别编译的,每个cpp文件,进行预编译(也就是对#include,define 等进行文本替换),生成编译单元.编译单元是一个自包含文件,C++编译器对编译单元进行编译.考虑,头文件A.h被多个cpp文件(比如A1.cpp,A2.cpp)包含,每个cpp文件都要进行单独编译,其中的A.h部分就会被多次重复第编译,影响效率. 2.怎么解决? 把A.h以及类似A.h这样的头文件,包含到stdafx.h中(当然也可以是其他文件),在stdafx.cpp中包含s…