0

我用 C++ 编程。当我看到保存 .cpp 文件的文件夹时,我发现了一些文件,如 cpp、o 和 exe。

程序运行时是否还有其他相关文件,如bak、tds?它们之间有什么区别以及它们是何时制造的。我的意思是我的印象是我们保存时形成cpp,编译时形成目标文件。bak 和 exe 文件是什么时候制作的?或者纠正我。

4

3 回答 3

4

现在,除非您自己创建文件,否则它很可能与您的工具集有某种关联。

*.cpp, *.h => 源文件。这些是您将编辑以进行编程的那些。

*.o, *.obj => 对象文件。这些是源文件的翻译版本(更准确地说是 *.cpp 文件)并且是链接器的原材料。

*.exe => 可执行文件。在链接器处理完您的目标文件后,它将所有这些文件链接在一起以创建可以由您的操作系统运行的实际可执行文件。

*.bak => 通常是一个“备份”文件,如果正在进行有风险的操作,通常会使用该文件,因此很容易恢复损坏。

*.tds => 我知道这个是 Turbo Debugger-File。IDE 要求允许单步执行已编译的代码、保留符号等。

于 2013-03-02T13:02:08.547 回答
0

.cpp 文件用于源代码

.h 文件用于标题

可能还有其他具有各种扩展名的文件,其中包含资源、项目定义、构建定义、make-files - 这取决于开发环境/编译器。

.o 文件是从源代码生成的二进制文件

.exe 文件是 Windows 可执行文件 - 这可能是您要运行程序的单个文件。并且此文件是在构建期间从所有库和 .o 文件创建的。

.bak 文件只是一些以前版本的 .cpp 或 .h 文件的备份。创建取决于开发环境。

于 2013-03-02T13:00:52.327 回答
0

bak倾向于指示某种类型的备份文件,可能是在您编辑文件时由编辑器制作的。我最初对tds文件一无所知,但粗略的网络搜索发现它们很可能是为 Borland Turbo Debugger(tds代表 Turbo Debugger Symbols)生成的文件。

您可能需要考虑升级到在过去 15 年中某个时候更新过的编译器。当有更好(和免费)的替代品可用时,很少有使用过时的技术的借口。

通常,编写cpp文件,编译器编译它们。o文件通常是已编译为对象的文件,然后将它们组合成exe可执行文件。

请注意,这当然取决于您的环境。例如,UNIX 编译器很少生成exe文件,因为那是 DOS/Windows 主义。

于 2013-03-02T13:01:20.793 回答