#include позволяет подключать заголовочные файлы к файлам кода.
        #include <foo.h> - библиотечный заголовочный файл#include "foo.h" - локальный заголовочный файл#include "bar.h" на содержимое файла bar.h..o или .obj)  void foo()
  {
      bar(); // call <address of bar>, e.g. call 0x087A
  }
  void bar() { }
foo
          void foo(int, double) {} // _Z3foooid
main.
          int main()
  {
      return 0;
  }
или
  int main(int argc, char ** argv)
  {
      return 0;
  }
undefined reference - функции имеет объявление, но не имеет телаmultiple definition - функция имеет два или более определений (часто возникает в ситуации когда функция определена в заголовочном файле, который включен в несколько .cpp файлов) g++ -E main.cpp -o main_preprocessed.cpp
.o)
     g++ -с main.cpp
 g++ file1.o main.o -o programm
 g++ file1.cpp main.cpp -o programm
 g++ -S main.cpp