当我在g-wan随附的修改hello.c时,将#define test_value 50的简单标头包含在hello.c文件中,我注意到将更改为"标头文件"没有触发G-Wan的更新以更新servlet。因此,如果我将标头文件测试值更改为51,则输出中没有任何更改。如果我对hello.c文件进行任何更改,它会导致g-wan重新编译servlet,包括依赖关系,并编译标头的更改。这是预期的行为吗?我很好奇,因为这意味着在许多依赖关系的开发过程中,您只需要更新主servlet文件中的一个字符即可触发重新编译,如果所做的所有更改都在依赖项文件中。
蒂姆·博尔顿(Tim Bolton)指出了这种行为
感谢您的任何输入。
g-wan 3.3.28 64位(2012年3月28日11:24:16) - 我在2012年10月19日下载中看到的最新版本 ...在Ubuntu Server上运行10.04.4 LTS -64位
这是预期的行为吗?
是。
这意味着在许多依赖关系的开发过程中,您只需要更新主servlet文件中的一个字符即可触发重新编译,如果所做的所有更改均为依赖项文件。
否。程序员使用了一种更好的方法(至少在过去30年中)。
touch
UNIX命令正在不更改内容的情况下更新文件的时间戳。
更改标头时touch
hello.c
Servlet。
还要注意,C标头应该比C文件更"稳定"。许多C文件中存储在标题中的内容共享,因此您应该考虑将C文件使用defines
经常更改。
至少您知道现在如何进行。
我也有这个问题,所以我创建了一个servlet来帮助我解决它。使用此信息,我不需要更新CSP文件夹上的每个文件。我在博客上发布了代码。
更新servlet_dependencies
脚本只能在CSP文件夹下的所有文件上运行touch命令。