Подтвердить что ты не робот

Какой файл MinGW использовать в качестве компилятора С++

Я только что установил MinGW, и в папке bin я вижу файлы 7.exe, которые компилируют мою программу:

  • С++. EXE
  • г ++. Ехе
  • mingw32-С++. EXE
  • mingw32-г ++. Ехе
  • gcc.exe
  • mingw32-gcc.exe
  • mingw32-НКУ-4.4.1.exe

Моя маленькая программа (testprog.cpp) правильно компилируется с каждым из них; файл a.exe создается в папке bin и работает правильно.

Какая разница между ними и какой из них я должен использовать? Кроме того, что я могу сделать, чтобы автоматически изменить имя выходного файла из a.exe на testprog.exe при каждом успешном компиляции?

4b9b3361

Ответ 1

Вполне возможно, что они все одинаковы; либо точные копии, либо символические ссылки друг на друга. Попробуйте использовать флаг --version для каждого, чтобы узнать, что у вас есть. В моей установке MingGW здесь каждый из этих двоичных файлов отличается (отмечен с помощью diff), но все они выводят одну и ту же информацию о версии (за исключением первого бита, который является именем файла):

gcc.exe (GCC) 3.4.5 (mingw-vista special r3)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Используйте флаг -o, чтобы изменить имя выходного файла:

gcc -o testprog.exe testprog.cpp

Ответ 2

Они соответствуют соглашениям об именах gcc.

  • С++. exe - традиционное имя для системного компилятора С++
  • g++. exe и gcc.exe - это имена компиляторов gcc, которые компилируются для "текущей системы"
  • mingw32- * version - это имена компиляторов, которые перекрестно скомпилируются с целью "mingw". В этом случае это то же самое, что и системная цель.
  • Затем mingw32-gcc-4.1.exe является "gcc для целевой версии 4.1"

Обычно вы должны скомпилировать C-код с вариантом "gcc" и С++-кодом с вариантом "g++".

Используйте -o filename, чтобы указать имя выходного файла, по умолчанию используется a.exe

Ответ 3

В unix они были в основном символическими ссылками. Единственное существенное различие между "cc" и "++". Вы должны заметить разницу между этими двумя, если вы используете какую-либо часть стандартной библиотеки С++. "++" версии ссылаются на эту библиотеку автоматически. "Cc" - это компиляторы C, и поэтому не... хотя вы можете использовать их как компиляторы С++, просто добавив -lstdС++ или что-то еще.

Ответ 4

в то время как я искал в Интернете инструкции для создания некоторых DLL файлов, которые я запускал в процессе компиляции С++ и из того, что я видел, они использовали g++ для компиляции С++ так же, как с помощью gcc.