Нужно ли использовать -o при запуске g ++? - PullRequest
3 голосов
/ 17 декабря 2011

У меня очень маленькая программа на c ++, которая состоит из двух файлов: main.cpp и something.cpp. Я хотел бы скомпилировать мою программу, используя g++ в OS X Terminal. Вот что я попробовал:

> g++ main.cpp something.cpp
> ./a.out

Это правильно? Я встречал примеры, использующие флаг -o. Я не уверен, если это необходимо.

Ответы [ 2 ]

4 голосов
/ 17 декабря 2011

это работает? Это довольно хороший показатель правильности! Флаг -o позволяет указать имя файла, чтобы исполняемый файл не назывался a.out

3 голосов
/ 17 декабря 2011

-o опция не требуется.Если не указано, поведение по умолчанию - поместить исполняемый файл в «a.out»:

-o file Поместить вывод в файл file.Это применимо независимо от того, какой тип вывода создается, будь то исполняемый файл, объектный файл, файл ассемблера или предварительно обработанный код C.

Если -o не указан, по умолчанию помещаетсяисполняемый файл в a.out, объектный файл для source.suffix в source.o, его файл ассемблера в source.s, предварительно скомпилированный заголовочный файл в source.suffix.gch и весь предварительно обработанный источник C на стандартном выводе.

Так что да, это правильно.

...