使用 nmake 仅编译修改过的文件
我正在尝试修改这个大程序,使用 nmake 编译需要花费近 10 分钟。
现在,如果我修改一个或几个 .cpp 文件,nmake 就会足够智能,只编译那些已更改的文件,而不是项目的其余部分。但如果我修改头文件,我就必须重新编译整个文件。有什么办法可以避免这种情况吗?
I am trying to modify this big program which takes almost 10 minutes to compile using nmake.
Now if I modify one or few of the .cpp files, nmake is smart enough to compile just those that are changed and not the rest of the project. But if I modify the header files I have to compile the whole thing again. Is there anyway to avoid that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Nmake 重新编译所有依赖于标头的内容是正确的。只有您选择的语言的合适的编译器或解析器才能判断数据布局是否发生变化。
如果 Nmake 不这样做,您很可能很快就会陷入段错误和总线错误的世界。
正确的方法是更干净地组织标题,并且只包含您需要的内容。
Nmake is right in recompiling everything that depends on a header. Only a decent compiler or parser of the language you chose is able to judge if any data layouts changed.
If Nmake would not do this, the probability is high that you soon would step into the world of segfault and bus errors.
The proper way around is to organise your headers more cleanly and only include what you need.