我们有2个案例(场景)。在每种情况下,我们都有2个文件:main.cpp
和file.cpp
案例1
#include <iostream>
#include "file.cpp" // this line is what matters
int main () {...}
我通过以下方式进行编译和运行:
g++ main.cpp -o main && ./main
案例2
#include <iostream>
void filefunc(int); // function declaration from file.cpp
int main () {...}
我通过以下方式进行编译和运行:
g++ -c main.cpp
g++ -c file.cpp
g++ main.o file.o -o main && ./main
在每种情况下,我们有多少translation units
?是
答案 0 :(得分:2)
每次将源代码文件传递给index.blade.php
时,即翻译单位。根据定义。
文件扩展名实际上是无关紧要的,但是按照惯例,我们为传递给编译器的内容(而不是g++
的内容)保留“ .cpp”。
在第一种情况下,您不明智地包含#include
文件会导致产生一个单个翻译单元,这会使您的其他程序员感到困惑,并导致代码审查时被拒绝。
在第二种情况下,您有两个翻译单元。
这一次,最终结果(可执行文件)还是一样。