使预处理器定义具有文件敏感性

使预处理器定义具有文件敏感性,第1张

概述我写了一个make文件. 在make文件中我使用了一个变量,比如EXTRAFLAGS,看起来像这样. EXTRAFLAGS += -D _MSC_VEREXTRAFLAGS += -D BINARYINPUTEXTRAFLAGS += -D ENABLEVERSION2D2 进一步, 我使用编译器标志 CFLAGS = -Werror -Wall -I $(INC) $(EXTRAFLAGS) 我写了一个make文件.

在make文件中我使用了一个变量,比如EXTRAFLAGS,看起来像这样.

EXTRAFLAGS += -D _MSC_VEREXTRAFLAGS += -D BINARYinputEXTRAFLAGS += -D ENABLeverSION2D2

进一步,
我使用编译器标志

CFLAGS = -Werror -Wall -I $(INC) $(EXTRAFLAGS)

mingw32-gcc $(CFLAGS) -o nameofexe  OBJ's

我已经使用这个makefile解决了任何问题.但是当我禁用预处理程序定义时,通过在EXTRAFLAGS中的一个语句之前引入“#”,并且我重新制作它,我的目标是最新的.我无法将预处理器定义引入敏感列表.

我正在使用的临时工作是,介绍一个虚假目标清理并删除所有目标文件并重新编译每件事.但这是浪费时间.我怎样才能更好地管理当前的情况?

解决方法 Make是一个工具,可以在项目中的某个文件发生更改时编译项目.

例如.当您更改.h文件时,它会识别更改并重建依赖于它的所有文件,然后重建所有依赖于新版本的文件,…

但是当您更改编译器标志和/或makefile中的定义时,项目输入文件不会更改,因此项目不会重建.

有三种方法可以实现您的需求:首先在更改makefile后手动清理make.其次要在makefile中包含makefile本身(并在更改时发出make clean).最后将定义移动到某个项目特定的.h文件中.

通常只有“自己在文件中”的解决方案是唯一一个避免构建所有新内容的解决方案,因为其他人不知道哪些源文件实际上引用了已更改的定义.

总结

以上是内存溢出为你收集整理的使预处理器定义具有文件敏感性全部内容,希望文章能够帮你解决使预处理器定义具有文件敏感性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1214349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存