Originariamente inviato da lio.b
Per invertire intendo che in entrambi questi 2 casi funziona:


Non occorre compilare prima myfunc dato che main usa quest'ultimo?
No. I file oggetto (.o oppure .obj) sono generati tutti. Alla fine, questi vengono tutti presi in carico dal linker che genera l'exe. Quindi, i due file oggetto, comunque, esistono.
(studia il processo di compilazione e linking).

Per il secondo quesito, il più importante non capisco questo:
Nel momento che nel main includo myfunction.h nel main vengono ncluse le dichiarazioni delle funzioni che sono contenute in questo file. Mal'implementazione è definita in myfunction.cpp. Come fa il main ad ottenere l'implementazioni contenute in quest'ultimo file?
Sei tu ad indicarlo qui

g++ -Wall -g -o prova main.cpp myfunc.cpp