Как определить, какой компилятор C / C ++ использовать? - PullRequest
14 голосов
/ 11 мая 2010

Я пытаюсь выяснить, какой компилятор C / C ++ использовать. Я нашел этот список компиляторов C / C ++ в Википедии:

http://en.wikipedia.org/wiki/List_of_compilers#C.2FC.2B.2B_compilers

Я вполне уверен, что хочу использовать компилятор с открытым исходным кодом. Я чувствую, что если это открытый исходный код, то он будет более полным компилятором, так как для его улучшения используются многие перспективы программистов. Пожалуйста, скажите мне, если вы не согласны.

Следует отметить, что я планирую изучать C / C ++ в основном для программирования 2D / 3D игровых приложений, совместимых с операционными системами Windows, Linux, MAC и iPhone. В настоящее время я использую Windows Vista x64 OS.

Ответы [ 7 ]

17 голосов
/ 11 мая 2010

Прежде всего, IMHO как новичок в вашей среде разработки (IDE) имеет гораздо большее значение, чем компилятор.

Я думаю, что люди уделяют слишком много внимания выбору компилятора на раннем этапе. Хотя это не Java, C ++ должен быть переносимым.

Если программа, которую вы пишете, работает только с определенными компиляторами, вы, вероятно, делаете не то, что нужно, или можете немного потрудиться, чтобы сделать ее более переносимой.

Если вы дойдете до того момента, когда выбор компилятора окажет на вас значительное влияние на производительность, то вы уже отработали все остальное в своей программе, и вы в хорошем состоянии, а также вы достаточно продвинуты в своих способностях. Мы привыкли учить различия между компиляторами на довольно продвинутых этапах обучения CS.

Если вы используете машину на основе UNIX (Linux, Mac, реальный Linux), то в значительной степени GNU (g ++) - это путь, который достаточно стандартен. Если он достаточно хорош для компиляции вашей ОС, он, вероятно, достаточно хорош для вас. На Mac вы можете использовать XCode в качестве IDE, и он хорошо взаимодействует с g ++. В Linux некоторые люди предпочитают инструменты командной строки, хотя вам может понравиться поддержка Eclipse C ++, сегодня она намного лучше, чем 3-4 года назад.

В Windows все сложнее. Если вы можете себе это позволить, имеете доступ или имеете право на одно из бесплатных изданий (например, через школу), я думаю, что среды Microsoft Visual C ++ (или как их там сейчас называют) довольно хороши для обучения, и они используется в производстве. Я думаю, что на самом деле есть легкая визуальная студия с акцентом на C ++, которая могла бы стать хорошим началом. Если вы этого не сделаете, вы, вероятно, найдете дистрибутив Eclipse, специфичный для C ++ и включающий реализацию компиляторов GNU.

14 голосов
/ 11 мая 2010

Используйте gcc и g ++, пока вы еще изучаете эти языки, на данный момент достаточно большая задача. Если вам нужен специализированный компилятор в будущем, вам потребуется более глубокое понимание языка и предметной области, чтобы правильно оценить кандидатов.

5 голосов
/ 11 мая 2010

Я чувствую, что если это открытый исходный код, то он будет более полным компилятором, так как для его улучшения используются многие перспективы программистов.

Это не обязательно правда. Можно также сказать, что если вы используете компилятор Microsoft, он будет оптимальным для Windows, поскольку Microsoft лучше всего знает, как оптимизировать компилятор для Windows.

Microsoft имеет Visual C ++ Express Edition , которая бесплатна и, конечно, включает в себя отличную IDE, которая очень хорошо подходит для разработки Windows.

Но если вы заинтересованы в создании переносимого программного обеспечения, посмотрите на GCC, который является компилятором по умолчанию в Linux и который также доступен на Mac. (IPhone работает совершенно иначе и требует специальных инструментов, которые работают только на Mac OS X). Вы можете получить GCC для Windows с Cygwin или MinGW .

5 голосов
/ 11 мая 2010

Получить Visual Studio Express (проще и быстрее, IMO, для установки) и учиться с ним; когда вы думаете, что знаете достаточно о C ++ и о том, как «работают» вещи, вы можете начать использовать что-то вроде QT или GCC (с cygwin) и научиться портировать на разные платформы.

1 голос
/ 11 мая 2010

Я настоятельно рекомендую перейти с MinGW .

Это:

  • с открытым исходным кодом
  • Доступно на всех основных платформах
  • Поставляется со стандартными заголовками и библиотеками Win32
1 голос
/ 11 мая 2010

Для Windows вы можете использовать CodeBlocks. Я считаю, что он использует gcc и довольно удобный для пользователя

0 голосов
/ 11 мая 2010

Ключ к написанию переносимого кода на C ++:

  • Используйте кроссплатформенную систему контроля версий (отличный выбор - subversion), потому что это облегчает
  • Компиляция и тестирование вашего кода на других платформах рано и часто
...