当我修改g-wan中包含的hello.c以包含一个简单的头,并#define TEST_VALUE 50并将其输出到hello.c文件中时,我注意到对头文件的更改不会触发更新g-wan来更新servlet。因此,如果我将头文件测试值更改为51,则输出中没有注意到任何更改。如果我对hello.c文件做了任何更改,就会导致g-wan重新编译servlet,包括依赖项,并编译头部中的更改。这是预期的行为吗?我很好奇,因为这意味着在具有许多依赖项的开发过程中,如果所做的所有更改都在依赖文件中,则只需更新主servlet文件中的一个字符即可触发重新编译。
Tim注意到了这种行为,所以我决定也对它进行测试,并将其作为一个独立的问题提出,而不是以前的一个线程。
谢谢你的意见。
G 3.3.28 64位(2012年3月28日11:24:16)在UbuntuServer10.04.4LTS- 64位上运行
发布于 2012-10-22 07:42:36
这是预期的行为吗?
是。
这意味着在具有许多依赖项的开发过程中,如果正在进行的所有更改都在依赖文件中,则只需更新主servlet文件中的一个字符即可触发重新编译。
不是的。在过去的30年里,程序员有一个更好的方法(至少)。
touch命令正在更新文件的时间戳,而不更改其内容。
更改标题时,只需touch hello.c servlet即可。
还请注意,C头应该比C文件更“稳定”。存储在头文件中的内容将由许多C文件共享,因此您应该考虑将C文件用于经常更改的defines。
至少你现在知道如何处理这两种情况了。
发布于 2012-11-13 15:21:21
我也有这个问题,所以我创建了一个servlet来帮助我解决它。使用它,我不需要更新我的CSP文件夹中的每个文件。我把代码张贴在我的博客上。
依赖关系
该脚本只对CSP文件夹下的所有文件运行touch命令。
https://stackoverflow.com/questions/12993298
复制相似问题