
当预处理器完成从修改的文件中删除注释时,构建链可以首先检查输出是否实际改变.如果没有,它应该像文件本身没有改变一样.
我使用Visual Studio 2010 btw.
编辑:@MikeSeymour,VS的cl.exe有一个切换/ Gm进行最小的重建.它没有很好的记录,但我认为这有点要我做.但是它与使用多个内核的/ MP交换机不兼容.在我的双核(w /超线程)上,/ Gm将需要跳过平均4个单位中〜3个的编译.虽然我觉得是这样的,但我甚至不知道如何评估/ Gm是否值得.
解决方法 是.您必须拥有构建系统,如果某些谓词为true,则可以触发构建事件.你想要的是一个谓词,说“这个文件以一种语义有趣的方式改变了”.这种谓词的良好近似存在,使用我们的SmartDifferencers系列工具的形式,比较源代码文件,使用源代码结构的深层知识(例如生产解析器).特别是,SmartDifferencer会根据对语言结构的更改(例如标识符,语句,声明,块)和合理的编辑 *** 作(插入,替换,删除,移动,重命名,重命名等)显示源代码的更改. ).它不对布局或评论感兴趣(除非你强制它).所以很容易得到SmartDifferencer来判断一个源代码文件是否改变了一些除了注释或空格之外的东西. SmartDifferencers存在各种各样的语言.
现在,你如何让构建系统进行合作? Unix在谓词上创建触发器,但不是这样;它实际上是根据与目标相比的文件日期的新近触发实体的构建事件.如果SmartDifferencer发现有趣的区别,则可以通过制作这样一个文件来依赖“changed_signal”文件来伪造它.
总结以上是内存溢出为你收集整理的C构建设置以忽略注释中的更改全部内容,希望文章能够帮你解决C构建设置以忽略注释中的更改所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)