我当时正在读Scott Meyers写的“Effective c++” 偶然发现了“翻译单元”这个术语。

谁能给我解释一下:

到底是什么? 当我用c++编程时,什么时候应该考虑使用它? 它只与c++相关,还是也可以与其他编程语言一起使用?

我可能已经在不知道术语的情况下使用它了……


当前回答

翻译单元是传递给编译器的代码。这通常意味着在.c文件上运行预处理器的输出。

其他回答

每个cpp/c(实现)文件将被转换为一个翻译单元(即。CPP文件中的object file (.obj)头文件将被替换为头文件中的实际文本。

翻译单元是一个文件(.c/.cpp),在它包含了所有的头文件之后。

http://web.archive.org/web/20091213073754/http: / / msdn.microsoft.com/en-us/library/bxss3ska (VS.80) . aspx

翻译单元是传递给编译器的代码。这通常意味着在.c文件上运行预处理器的输出。

根据MSDN: C和c++程序由一个或多个源文件组成,每个源文件包含程序的一些文本。源文件与其包含文件(使用#include预处理器指令包含的文件)一起,但不包括被条件编译指令(如#if)删除的代码部分,称为“翻译单元”。

正如其他人所说,翻译单元基本上是源文件经过预处理后的内容。它是语言语法的最高产物;只有在编写C或c++编译器时才需要担心这个问题。