Один из моих друзей, не являющихся программистами, недавно решил создать программу на C ++ для решения сложной механической проблемы.
Он написал каждую функцию в отдельном файле .cpp, а затем включил их в основной файл.исходный файл, что-то вроде этого:
main.cpp:
#include "function1.cpp"
#include "function2.cpp"
...
int main()
{
...
}
Затем он скомпилировал код с одной строкой gcc:
g++ main.cpp // took about 2 seconds
Теперь я знаю, что это должно работать, но я не уверен, является ли хорошей идеей включение файлов .cpp непосредственно в основную программу.Я видел следующую схему несколько раз, где все прототипы функций помещаются в заголовочный файл с ключевым словом extern, например:
funcs.h:
extern void function1(..);
extern void function2(..);
...
main.cpp:
...
#include "funcs.h"
...
и компиляция с:
g++ -c function1.cpp
g++ -c function2.cpp
...
g++ -c main.cpp
g++ -o final main.o function1.o function2.o ...
Я думаю, что эта схема лучше (сMakefile, конечно).Какие причины я могу дать своему другу, чтобы убедить его в этом?