paip.gch预编译头不生效的原因以及解决:

本文探讨了GCC预编译头文件不生效的问题及解决方案。重点在于预编译头文件(.gch)的使用条件,即源码中引用预编译头文件时,编译参数必须与预编译时完全一致才能生效。文章还提供了通过为不同配置生成特定预编译头文件的方法来解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

paip.gch预编译头不生效的原因以及解决:


作者Attilax ,  EMAIL:1466519819@qq.com 


来源:attilax的专栏


地址:http://blog.youkuaiyun.com/attilax


现象:
////////////
debug时候GCH生效..release时候不生效..
要注意将太多类型包含到一个头文件中引入的额外的问题:编译后的程序文件会变大,因为不要的类型也会被链接到可执行文件中。对于一些客户端软件,应注意这个不良影响。




原因:
////////////
4、加入在源码中引用使用了预编译的all.h,编译器在引入all.h的时候,会检查all.h的同一目录下是否有all.h.gch,如果有,再检查GCC的编译选项(及其编译命令行中定义的宏)与预编译头文件时候的参数是否一致。仅仅只在编译参数完全一致(顺序无关)的情况下,预编译的gch文件才会生效。




解决: 
//////////////
以release参数在编译个gch..
设置release step.,,加个step.替换到 release gch头..
也要设置个debug step ...替换到debug gch..  rename 方式比较好。




参考:
////////////
gcc 预编译头文件的一些注意事项_阿福的技术BLOG_百度空间.htm
使用gcc的预编译头文件 - 一起去听海 - 博客频道 - youkuaiyun.com.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值