1. Скомпелировать исходные в файлы в (промежуточный) объектный тип расширением .o
2. Из обьектных файлов путем их компановки между собой и со стандартной библиотакой C++ получить исполняемый файл.
1. На первом шаге исходные файлы с раширением .cpp (такие как основной файл main.cpp, файлы элемент-функций классов function.cpp), при помощи заголовочных файлов классов таких как function.h (расширение .o) компилируються в обьектные (промежуточные) файлы.
ключ -c (компилирование) - создание обьектоного файла;
ключ -o (линковка) - создание исполняемого файла.
vitaliy@fox:~/$ g++ -Wall -c "main.cpp"
vitaliy@fox:~/$ g++ -Wall -c "function.cpp"
vitaliy@fox:~/$ ls -l
итого 48
-rw-r--r-- 1 vitaliy vitaliy 829 Янв 6 23:06 main.o
-rw-r--r-- 1 vitaliy vitaliy 3824 Янв 6 23:14 function.o
...
2. На втором этапе компановщик компанует(линкует) обьектные файлы между собой, а также со стандартной библиотекой C++. (Все файлы находяться в одной папке).
Следующая команда с ключом -o создаст исполняемый файл programma:
vitaliy@fox:~/$ g++ -Wall main.o function.o -o programma
vitaliy@fox:~/$ ls -l
итого 48
-rwxr-xr-x 1 vitaliy vitaliy 9753 Янв 6 23:32 programma
...
Выше компановщик g++ линкует файлы main.o object.o между собой, и с бибилотекой C++.
__________________________________________________________________________________
Также возможно сразу создать исполняемую программу programma, непосредственно из исходных файлов .cpp. В этом случае обязательно нужно что бы заголовочные файлы классов .h
находились в одной папке с исходными файлами.
vitaliy@fox:~/$ g++ -Wall main.cpp object.cpp -o programma
vitaliy@fox:~/$ ls -l
итого 48
-rwxr-xr-x 1 vitaliy vitaliy 9753 Янв 6 23:32 programma
...
Выше утилита g++ одной командой создает обьектные файлы, и сразу же из них исполняемый файл, всё в одной строке.
-Wextra //ключ с дополнительной информацией о предупреждениях
-Wextra //ключ с дополнительной информацией о предупреждениях
Cпасибо помогло
ОтветитьУдалить