问题的简短版本:Eclipse生成的objects.mk
,sources.mk
,makefile
,subdir.mk
,*.o
和*.d
文件是什么?
问题的长版:
workspace
目录。每当我创建一个项目并调用它ProjectName
时,Eclipse就会在ProjectName
文件夹中创建一个新目录(也称为workspace
)。ClassName.cpp
和头文件ClassName.h
)。这些文件放在workspace/ProjectName/src
文件夹中。Build
我的项目在Eclipse和workspace/ProjectName
新文件夹中出现。它被称为Debug
。ProjectName
。它是可执行文件。如果我在命令行中输入其名称,我的程序将被执行。objects.mk
,sources.mk
,makefile
。Debug
文件夹中有src
目录。它包含subdir.mk
文件,其含义我不知道,以及ClassName.o
和ClassName.d
文件(如果我有N个类,则会有N对*.o
和{{ 1}}文件。)请有人解释这些文件的含义和目的吗?
答案 0 :(得分:4)
objects.mk
,sources.mk
,makefile
和subdir.mk
是Eclipse根据您的项目类型(可执行文件,库,共享库)生成的makefile。有关其内容以及这些工作如何参考工具链的make
命令文档。简而言之,这些负责调用编译器和链接器。
ClassName.o
是编译器生成的目标文件,所有这些文件将链接到一个可执行文件或存储在库中(取决于项目类型)。
ClassName.d
是一个所谓的依赖引用文件,由编译器生成(按需)并包含在makefile中,可以跟踪头文件中的更改,并在必要时重新编译相关的源文件。