我正在用c ++学习OOP并使用g ++编译器。我想知道,在实现单独的编译时,编译目标文件然后将所有内容链接到可执行文件的重点是什么,而不是仅使用g ++直接编译和链接所有内容?每个过程的优缺点是什么?
例如:
g++ -c main.cpp -o main.o
g++ -c func1.cpp -o func1.o
g++ -c func2.cpp -o func2.o
g++ -o test.exe main.o func1.o func2.o
或者只是
g++ main.cpp func1.cpp func2.cpp -o test.exe
他们做了同样的事情,那么两个过程的重点是什么? (如果有任何错误导致问题不明确,我表示歉意,谢谢您的时间)
答案 0 :(得分:0)
编译为单独的目标文件允许仅对已更改的cpp文件进行渐进式编译。 因为几乎没有人直接调用编译器所涉及的额外工作量是最小的(如果你还没有调查像make,cmake等构建系统。)