了解Eclipse生成的文件夹和文件
问题的简短版本:Eclipse生成的了解Eclipse生成的文件夹和文件,eclipse,Eclipse,问题的简短版本:Eclipse生成的对象.mk,源.mk,生成文件,子目录.mk,*.o和*.d文件是什么 问题的长版本: 在我的主目录中,我有工作区目录。每当我创建一个项目并将其命名为ProjectName时,Eclipse就会在工作区文件夹中创建一个新目录(也称为ProjectName) 在我的项目中,我创建了不同的类,每个类都与2个文件关联(源文件ClassName.cpp和头文件ClassName.h)。这些文件被放入工作区/ProjectName/src文件夹中 现在,我在Eclip
对象.mk
,源.mk
,生成文件
,子目录.mk
,*.o
和*.d
文件是什么
问题的长版本:
工作区
目录。每当我创建一个项目并将其命名为ProjectName
时,Eclipse就会在工作区
文件夹中创建一个新目录(也称为ProjectName
)ClassName.cpp
和头文件ClassName.h
)。这些文件被放入工作区/ProjectName/src
文件夹中工作区/ProjectName
中出现了一个新文件夹。它被称为Debug
ProjectName
。它是可执行文件。如果我在命令行中键入它的名称,我的程序将被执行objects.mk
,sources.mk
,makefile
Debug
文件夹中有src
目录。它包含我不知道其含义的subdir.mk
文件以及ClassName.o
和ClassName.d
文件(若我有N个类,则将有N对*.o
和*.d
文件)任何人都可以解释一下这些文件的含义和用途吗?
对象.mk
,源.mk
,生成文件
和子文件.mk
是Eclipse根据您的项目类型(可执行文件、库、共享库)生成的生成文件。有关其内容和工作方式,请参阅工具链的make
命令文档。简而言之,它们负责调用编译器和链接器
ClassName.o
是编译器生成的目标文件,所有这些文件都将链接到可执行文件或存储在库中(取决于项目类型)
ClassName.d
是一个所谓的依赖项引用文件,由编译器(按需)生成并包含在makefiles中,可以跟踪头文件中的更改,并在必要时重新编译相关的源文件。据我所知,make文件将目标文件放在一起以获得可执行文件。我不清楚的是为什么我们有这么多制作文件。为什么一个是不够的?它们都被使用了吗?makefile
是主要条目,它包括源.mk
、对象.mk
和子目录.mk
makefile。我没有谈到细节,但我想这是关于构建系统更好的结构和更容易(自动化)的管理。当为项目手动设置buildsystems时,我们通常也会这样做。Make是一种专门的编程语言,它的设计重点是将哪些内容转换为其他内容(.c->.o->executable,或生成文档的任何其他依赖项等)。您只在一个源文件中编写最简单的程序。make也是如此;您使用多个文件实现模块化。