在 dev c++ 中编译项目中的特定文件
Posted
技术标签:
【中文标题】在 dev c++ 中编译项目中的特定文件【英文标题】:Compiling specific files in a project in dev c++ 【发布时间】:2014-03-17 10:10:36 【问题描述】:我正在开发 c++ 上编写一个项目,其中包含大量文件。但是,其中最大的部分不会每次我再次编译代码时都发生变化,因此不必再次编译。
如何只编译我选择的几个文件,而不是整个项目?
还是编译器已经在做?
对编译时间有帮助吗?
*这些都是理论问题,我不介意每次等待几秒钟。这让我很感兴趣。
谢谢
【问题讨论】:
【参考方案1】:编译是一个多阶段的过程,分为两个部分:编译和链接。实际上,即使程序编译得很好,它也没有必要工作,因为链接时出现错误。从源代码到目标文件的整个转换过程可以称为构建。
编译是指处理源代码文件(.c、.cc 或 .cpp)和创建“目标”文件。编译器仅生成与已编译的源代码文件相对应的机器语言指令。此步骤不会创建用户可以实际运行的任何内容。
链接是指从多个目标文件创建单个可执行文件。在这一步中,链接器通常会抱怨未定义的函数(通常是 main 本身)。因此,如果函数未在当前文件中定义,则在编译时,它假定该函数在其他地方声明,并且链接器链接其他文件中定义的函数
编译器做自己的事,链接器做自己的事——通过保持函数分离,程序的复杂性降低了。主要优点是允许创建大型程序而无需重做编译步骤每次更改文件时。相反,使用所谓的“条件编译”,只需要编译那些已经改变的源文件;其余的,目标文件是链接器的足够输入。最后,这使得实现预编译代码库变得简单:
如果您使用的是 IDE,则默认情况下会为您服务,对于命令行工具,有一个名为 make 的漂亮实用程序。
【讨论】:
以上是关于在 dev c++ 中编译项目中的特定文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Dev-C++5.11 在 C++ 程序中编译的错误文件
rename() 在使用 Dev C++ 编译的 C 程序中不起作用