预编译头太害人了。。。

weiwuyuan 2011-12-04 09:31:04
头文件里有个函数,是带默认参数的,比如设为1,然后运行一下,读出的值的确是1,没问题,
然后这时候,再改成2,再运行一下,结果读出的值还是1,但是当我清理一下项目再次编译的时候,才为2。。。

发现了好久才发现这么个问题。。。。
...全文
289 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangyunzhao 2014-07-01
  • 打赏
  • 举报
回复
引用 14 楼 yisikaipu 的回复:
[Quote=引用 13 楼 yangyunzhao 的回复:]重来不用预编译的人飘过[/Quote] 大点的工程做了小修改调个试什么的岂不是要编译很久
普通人不应该会遇到这个情况啊,一般工程如果你规划的合理,不会出现牵一发而动全身的。 boost、ace这种级别的,还是极少数
许文君 2011-12-06
  • 打赏
  • 举报
回复
LZ需要注意,预编译头不是每次都重新编译的,所以如果有修改,最好的做法就是重新生成。
yisikaipu 2011-12-05
  • 打赏
  • 举报
回复
什么版本编译器?

vs2008会重新编译
bobye1230 2011-12-05
  • 打赏
  • 举报
回复
很怀疑楼主是不是修改了头文件之后,是不是没有重新编译、、
yuegeman 2011-12-05
  • 打赏
  • 举报
回复
建项目的时候去掉预编译头去掉就O了 楼主
「已注销」 2011-12-05
  • 打赏
  • 举报
回复
不可能,修改过以后文件的时间戳不同,会重新编译的,是你自己操作错误
morebread 2011-12-05
  • 打赏
  • 举报
回复
可以在工程设置里把预编译头选项给关掉的。
yisikaipu 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 yangyunzhao 的回复:]重来不用预编译的人飘过[/Quote]

大点的工程做了小修改调个试什么的岂不是要编译很久
yangyunzhao 2011-12-05
  • 打赏
  • 举报
回复
重来不用预编译的人飘过
weiwuyuan 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 bobye1230 的回复:]
很怀疑楼主是不是修改了头文件之后,是不是没有重新编译、、
[/Quote]

说的就是没有重新编译的情况。
weiwuyuan 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yisikaipu 的回复:]
什么版本编译器?

vs2008会重新编译
[/Quote]

对,就是vs2008

但即便是VS2008也有出错的时候,我就经常遇到无休止提示让你编译的。
机智的呆呆 2011-12-04
  • 打赏
  • 举报
回复
iamnobody 2011-12-04
  • 打赏
  • 举报
回复
虽然不知道楼主在说什么,但是分还是要接的。。
AnYidan 2011-12-04
  • 打赏
  • 举报
回复
没看明白
duke56 2011-12-04
  • 打赏
  • 举报
回复
头文件里的函数申明才是函数原形呀...
maoxing63570 2011-12-04
  • 打赏
  • 举报
回复

我每次都清除然后重编绎

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧