问题的简短版本:什么是objects.mk
, sources.mk
, makefile
, subdir.mk
, *.o
和*.d
Eclipse 生成的文件?
问题的长版本:
- 在我的主目录中,我有
workspace
目录。每当我创建一个项目并将其命名为ProjectName
时Eclipse 在ProjectName
中创建一个新目录(也称为workspace
)文件夹。 - 在我的项目中,我创建了不同的类,每个类都与 2 个文件关联(源文件
ClassName.cpp
和头文件ClassName.h
)。这些文件被放入workspace/ProjectName/src
文件夹。 - 现在我
Build
我在 Eclipse 和workspace/ProjectName
中的项目出现一个新文件夹。它被称为Debug
. - 在此文件夹中,只有一个我了解其功能的文件:
ProjectName
。它是可执行文件。如果我在命令行中输入它的名称,我的程序就会被执行。 - 另外 3 个文件我不知道:
objects.mk
,sources.mk
,makefile
. - 此外,在
Debug
文件夹中有src
目录。它包含subdir.mk
我和ClassName.o
都不知道其含义的文件和ClassName.d
文件(如果我有 N 个类,则会有 N 对*.o
和*.d
文件。)
有人可以解释一下这些文件的含义和用途吗?
最佳答案
objects.mk
、sources.mk
、makefile
和subdir.mk
是Eclipse根据您的项目类型(可执行文件、库、共享库)。有关它们的内容以及它们的工作原理,请参阅工具链的 make
命令文档。简而言之,它们负责调用编译器和链接器。
ClassName.o
是编译器生成的目标文件,它们都将链接在一起成为可执行文件或存储在库中(取决于项目类型)。
ClassName.d
是一个所谓的依赖项引用文件,由编译器(按需)生成并包含在 makefile 中,可以跟踪头文件中的更改,并重新编译相关文件如果需要的话,源文件。
关于eclipse - 了解 Eclipse 生成的文件夹和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14377331/