首页 / 知识
关于c ++:带有GCC的预编译头文件
2023-04-15 02:49:00

Precompiled headers with GCC任何人都可以使用GCC预编译头文件取得成功吗? 我的尝试没有运气,我也没有看到很多关于如何设置它的好例子。 我已经尝试过cygwin gcc 3.4.4,并在Ubuntu上使用4.0。 我绝对有成功。首先,我使用以下代码:
这只是Boost Xpressive的一个问候世界(请参阅下面的链接)。首先,我在gcc中使用
所以我写了一个命令,用完全相同的标志编译Xpressive.hpp文件:
我再次使用
!意味着编译器能够使用预编译的头文件。 x表示它无法使用。使用适当的编译器标志至关重要。我摘下-H并进行了一些速度测试。预编译的头文件从14秒提高到11秒。不错,但不是很好。 注意:以下是示例的链接:http://www.boost.org/doc/libs/1_43_0/doc/html/xpressive/user_s_guide.html#boost_xpressive.user_s_guide.examples我无法使其在发布。 顺便说一句:我正在使用以下g ++
首先,请参阅此处的文档。
您可以像其他任何文件一样编译标头,但是将输出放在后缀为
因此,例如,如果您预编译stdafx.h,则将具有一个预编译的标头,只要包含 例: stdafx.h:
a.cpp:
然后编译为:
即使在步骤1之后删除了stdafx.h,您的编译也将起作用。
C ++预编译标头的
像这样生成PCH:
调用gcc的方式与调用源文件的方式相同,但带有头文件。 例如
这将生成一个名为test.h.gch的文件 每次gcc搜索test.h时,它都会首先查找test.h.gch,如果找到它,它将自动使用它。 可以在GCC预编译标题下找到更多信息 过去,我已经设法使预编译的头文件在gcc下工作了一次,我还记得当时也有问题。要记住的是,如果不满足某些条件,gcc将忽略该文件(header.h.gch或类似文件),可以在gcc预编译的头文件说明页上找到该文件的列表。 通常,最简单的方法是让构建系统首先编译.gch文件,并使用与其他源代码相同的命令行选项和可执行文件。这样可以确保文件是最新的,并且没有细微的差异。 首先将其与人为设计的示例一起使用可能也是一个好主意,只是消除了您的问题特定于项目中的源代码的可能性。 |
最新内容
相关内容
linux命令的带有括号?
linux命令的带有括号?,系统,密码,电脑,项目,管理,名称,情况,地方,正规,括号,linux脚本怎么替换中括号里面的内容方法1:sed -i s/被替换的内容/在Python中使用带有列表和字符串文
在Python中使用带有列表和字符串文字的for循环,代码,数字,培训,之间,字符串,列表,语句,文字,奇数,这一点,现在看一下下面的代码,输出1到100之python如何设置编码格式
python如何设置编码格式,代码,培训,一致,声明,文件,头部,格式,注释,中文,以下,如果要在python2的py文件里面写中文,则必须要添加一行声明文件python带有yield的函数在Python中
python带有yield的函数在Python中如何使用,培训,异常,函数,生成器,结果,表达式,后边,语句,场景,关键字,yield的函数在Python中的使用yield在python如何设置路径
python如何设置路径,培训,工作,路径,模块,以上,更多,内容,改变python的默认路径为当前的工作路径通过os模块来进行python中路径的更改默认python函数形参如何设置默认值
python函数形参如何设置默认值,培训,函数,实例,以上,参数,更多,内容,在编写函数时,可以为每个形参指定默认值。1、Python在调用函数中为形尝试创建选定的Gtk对象(对话框)时,M
尝试创建选定的Gtk对象(对话框)时,Mono-Develop会引发错误,为什么?,尝试创建选定的Gtk对象(对话框)时,Mono-Develop会引发错误,为什么?,cr关于unix:如何获取find命令以打印出
关于unix:如何获取find命令以打印出带有文件名的文件大小?,关于unix:如何获取find命令以打印出带有文件名的文件大小?,命令,输出,所示,关于c#:尝试在集合中插入重复对象时
关于c#:尝试在集合中插入重复对象时抛出的正确.NET异常是什么?,关于c#:尝试在集合中插入重复对象时抛出的正确.NET异常是什么?,对象,属关于c ++:如何设置,清除和切换一个字
关于c ++:如何设置,清除和切换一个字节?,关于c ++:如何设置,清除和切换一个字节?,设置,清除,切换,如何在,How do you set, clear, and togg关于正则表达式:带有标志的Python r
关于正则表达式:带有标志的Python re.sub不会替换所有出现的事件,关于正则表达式:带有标志的Python re.sub不会替换所有出现的事件,文关于微控制器:使用带有 AVR 微控制
关于微控制器:使用带有 AVR 微控制器的旋转编码器,关于微控制器:使用带有 AVR 微控制器的旋转编码器,编码器,的是,微控制器,工作,Using