一个模块中有多少个翻译单元?

How many translation units in one module?

具有多个源文件 (.cpp) 的模块是否具有一个或多个翻译单元?我的理解是每个源文件 (.cpp) 都将是它自己的翻译单元,除非它被包含在内,并且 #pragma onced (我猜这是一种不当行为),但我不知道在模块化程序中是如何完成的.如果有任何区别,那么我对 Visual Studio C++ 开发特别感兴趣 (post C++2020)

一个模块由一个或多个翻译单元组成。以模块声明开头的翻译单元称为 模块单元 ,如果程序中有多个模块单元具有相同的模块名称(忽略任何模块分区),则它们属于到同一个模块。