Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile C++;,生成文件、头文件_Makefile_Header - Fatal编程技术网

Makefile C++;,生成文件、头文件

Makefile C++;,生成文件、头文件,makefile,header,Makefile,Header,我今天刚刚和某人谈了关于makefile和headerfile的问题。 他声称标准是在makefile中不包含任何.h文件,所有的#include都应该在.cpp中完成,而不是在.h文件中完成 你们同意这个说法吗?或者这是一个可以通过任何一种方式实现的说法吗?我在网上发现了各种各样的观点 头文件依赖项最终应该由Makefile使用,但只能间接使用。头文件依赖项通常会以某种方式自动生成。例如,gcc有-MD选项来生成具有头依赖项的.d文件。这些.d文件可以由Makefile使用include。这意

我今天刚刚和某人谈了关于makefile和headerfile的问题。 他声称标准是在makefile中不包含任何.h文件,所有的#include都应该在.cpp中完成,而不是在.h文件中完成


你们同意这个说法吗?或者这是一个可以通过任何一种方式实现的说法吗?我在网上发现了各种各样的观点

头文件依赖项最终应该由Makefile使用,但只能间接使用。头文件依赖项通常会以某种方式自动生成。例如,gcc有-MD选项来生成具有头依赖项的.d文件。这些.d文件可以由Makefile使用
include
。这意味着您不必亲自实际键入头文件依赖项,即使它们有效地位于Makefile中


如果您没有办法自动生成标题依赖项,那么您必须手动生成它们。否则,
make
将不知道在头文件更改时需要重新生成依赖对象文件。

头文件依赖项最终应该被Makefile使用,但只能间接使用。头文件依赖项通常会以某种方式自动生成。例如,gcc有-MD选项来生成具有头依赖项的.d文件。这些.d文件可以由Makefile使用
include
。这意味着您不必亲自实际键入头文件依赖项,即使它们有效地位于Makefile中

如果您没有办法自动生成标题依赖项,那么您必须手动生成它们。否则,
make
在头文件更改时不会知道需要重新生成依赖的对象文件。

当您说“在makefile中包含一个.h文件”时,这是您真正的意思吗?因为那没有任何意义;C++代码和代码的语法不同,它们不混合。至于
#include
不是在.h文件中完成的,你的朋友是非常非常错误的。当你说“在makefile中包含一个.h文件”时,这是你真正的意思吗?因为那没有任何意义;C++代码和代码的语法不同,它们不混合。至于
#include
没有在.h文件中完成,你的朋友是非常非常错误的。