函数参数默认值引起的预编译失效

kabc1893 2012-03-07 04:46:34
类似

tagReportInfo * __fastcall GetReportInfo(const int iCdid, const int iBbid, AnsiString strCzydm="");

这样的函数声明会引起[BCC32 Warning] fXtcs.h(1521): W8058 Cannot create pre-compiled header: initialized data in header

导致预编译失效!

可恶啊。如果没有预编译,整个工程要一个多小时才能编译完成!

这个问题有什么解决方法吗
...全文
141 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kabc1893 2012-03-09
  • 打赏
  • 举报
回复
不是工程大!
头文件循环引用简直是个灾难,让你的编译行数很容易增加几个数量级。。。。
对新员工培训不到位啊。。。。代码合入前也没有一个review的机制。。
[Quote=引用 4 楼 bigfog 的回复:]

你的工程真大啊,呵呵
[/Quote]
kabc1893 2012-03-09
  • 打赏
  • 举报
回复
郁闷啊。之前公司用的CB5。有编译加速插件。几分钟就完了。现在换2010,没找着相关的插件啊,如果有麻烦推荐一款。整理头文件整理了2天。发现新合入的代码有严重问题。头文件循环包含。我了个去得。CPP里倒是干净的很只有一个头文件,这不是扯淡么。。。整理完后,启用预编译,现在5分钟就编完了。按模块搞成DLL这个公司有考虑,不过不是我在搞。那个影响太大,得慢慢来。

[Quote=引用 2 楼 ccrun 的回复:]

>>>整个工程要一个多小时才能编译完成

没有考虑过静态库(.lib)或动态库(.dll)?
[/Quote]
ccrun.com 2012-03-08
  • 打赏
  • 举报
回复
>>>整个工程要一个多小时才能编译完成

没有考虑过静态库(.lib)或动态库(.dll)?
bigfog 2012-03-08
  • 打赏
  • 举报
回复
你的工程真大啊,呵呵
我不懂电脑 2012-03-08
  • 打赏
  • 举报
回复
你这种情况要工程分包,才是解决问题的本。比如类似c#分成几个工程。
kabc1893 2012-03-07
  • 打赏
  • 举报
回复

打算用重载的多个函数代替有默认值的函数了,可是一些有多个默认值的函数很蛋疼啊。

难道真的没有其他建议吗?

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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