Один из моих друзей-"непрограммистов" недавно решил создать программу на C ++ для решения сложной механической задачи.
Он написал каждую функцию в отдельном файле .cpp, а затем включил их все в основной исходный файл, примерно так:
main.cpp:
#include "function1.cpp"
#include "function2.cpp"
...
int main()
{
...
}
Затем он скомпилировал код с одним gcc line:
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 ...
Думаю, что эта схема лучше (конечно, с make-файлом). Какие причины я могу назвать своему другу, чтобы убедить его в этом?