На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела FAQ в группе разделов С++.
1. Раздел FAQ предназначен для публикации готовых статей.
2. Здесь нельзя задавать вопросы, для этого существуют соответствующие разделы:
Чистый С++
Visual C++ / MFC / WTL / WinApi
Borland C++ Builder
COM / DCOM / ActiveX / ATL
Сопутствующие вопросы
3. Внимание, все темы и сообщения в разделе премодерируются. Любое сообщение или тема будут видны остальным участникам только после одобрения модератора.
Модераторы: B.V., Qraizer
  
> Компиляторы , под разные платформы и т.д.
    Вопросы такие возникают часто, пущай все пользуются. О чём я пропустил (а я пропустил многое) можно дописывать.

    Я тут расскажу в основном о компиляторах на платформе Win32, хотелось бы (ествественно) узнать о каких то иных платформах и т.п.

    1) под Win32 наиболее популярным компилятором C++ является MSVC++, бесплатную версию (правда, без IDE) можно скачать, например, на сайте Microsoft.
    Последняя версия - 2005 года, сам не пользовался, впечатления разные. Последный надёжный и стабильный релиз - версия 2003, она же 7.1, очень достойный компилятор. 2002 (она же 7.0) слегка не дотягивает, использование её в настоящее время оправдано лишь (незначительными) проблемами совместимости. То же самое можно сказать о версии 6.0 вышедшей (охоспади!) аж в 1998 году, и более ранних.
    Бесплатно доступна, например, Express версия (урезаная)
    http://msdn.microsoft.com/express

    2) Borland C++. Практически без комментариев. Очень достойная штука. Хотел бы, что бы о ней написал что нибудь более активный пользователь.

    3) очень хороший продукт (правда, с довольно глючной, но вполне приемлемой IDE).
    Dev C++ фактически она использует порт популярного в мире UNIX компилятора GCC. Можно бесплатно скачать вот здесь:
    http://www.bloodshed.net/

    4) тоже неплохой компилятор, правда, использующий "плоский" С (plain C):
    lcc. Генерация кода - на уровне, но не дотягивает до msvc++ (например, по быстродействию), многие правда, считают, что он круто оптимизирует, и от того программы на нём так мало весят (мне, например, удавалось сделать вполне работоспособный сервер в 12 килобайт), на самом деле это не так, т.к. по умолчанию он не включает в себя библиотеку CRTL (что не позволяет нам пользоваться многими полезными функциями, например, для работы со строками).
    скачать вот тут
    http://www.cs.virginia.edu/~lcc-win32/

    5) Digital mars
    особо не пользовался. Довольно интересная шутка, включает в себя много интересных библиотек, недоступных (естественно, по умолчанию) в других компиляторах, например, регулярные выражения.
    скачать вот тут
    http://www.digitalmars.com/

    6) Comeau. Прекрасный компилятор (по отзывам), очень хорошо соответсвующий Стандарту, главным неприятный свойством является его платность.
    (сайтец что то не нашёл сходу)

    DOS
    под DOS в настоящее время фактически есть несколько компиляторов:
    Borland C++ 3.1 (без комментариев, где скачать - не знаю, проект уже давно не развивается)
    djgpp.
    djgpp фактически является портом популярного в мире UNIX компилятора GCC
    http://www.delorie.com/djgpp/

    UNIX
    практически (а может быть и во всех, точно утверждать не берусь) в каждую версию UNIX включён замечательный компилятор GCC.
    подробнее можно узнать вот здесь
    http://gcc.gnu.org/

    ..активнее товарищи, дописываем, комментируем
      Нужно добавить Watcom/OpenWatcom С++, Intel С++
      Упомянуть, что поддерживают стандарт С99 (полностью или частично) - Intel, Digital mars, GCC, Comeau(?), больше не припомню.
        Писал про то, чем пользовался. О! Про Intel совсем забыл!
        Мужики, может кто нибудь напишет про Borland и Watcom?
          7) Intel C++. Существуют версии для процессоров архитектуры IA-32 под Windows, Linux и QNX и архитектуры StrongARM под Windows CE. Хорошо оптимизирующий компилятор, особенно если вопрос касается использования особенностей процессоров Intel. С версии 8.0 реализует ныне действующий стандарт языка C (известный под аббревиатурой C99). Содержит реализацию библиотеки OpenMP. Бесплатно доступна версия под Linux.
          http://www.intel.com/software/products/

          8) Metrowerks CodeWarrior. Среда разработки и семейство компиляторов C/C++/Java под различные архитектуры и процессоры, среди которых можно упомянуть Windows и MacOS. Неплохо оптимизирует, порой показывая просто выдающиеся результаты.
          http://www.metrowerks.com

          9) Minimalist GNU for Windows(MinGW) - порт GCC под Windows. Написание программ под Windows обеспечивается содержащимся клоном Windows SDK(вероятно, из проекта WinE). Иногда показывает неплохие результаты по оптимизации программ под IA-32.
          http://www.mingw.org

          10) CygWin - еще один порт GCC под Windows. Функционирование написанных в нем программ обеспечивается с помощью динамической библиотеки, реализующей традиционный для Unix набор функций.
          http://www.cygwin.com/

          11) Странник. Среда разработки и компилятор Модулы, Паскаля и Си. Версии языков являются довольно своеобразными подмножествами стандартных/общеупотребительных, поволяют использовать кириллицу в именах переменных и фукнций.
          http://home.perm.ru/~strannik/

          12) IAR Embedded WorkBench - одна из самых популярных сред разработки и набор компиляторов для микроконтроллеров различных семейств, среди которых можно назвать MCS-51, AVR, PIC16, PIC18. Содержит урезанный вариант C++. Имеет очень качественный оптимизатор.
          http://www.iar.com

          13) Keil mVision - еще одна довольно популярная среда разработки для микроконтроллеров семейств MCS-51, MCS-96, C-166, ARM и других. Имеет довольно качественный оптимизатор.
          http://www.keil.com

          14) Raisonance Kit - среда разработки для микроконтроллеров семейств MCS-51, Xemics и других. Качество оптимизации похуже предыдущих, но имеет более функциональный отладчик.
          http://www.raisonance.com
          http://www.amrai.com

          15) Tasking IDE - снова среда разработки для микроконтроллеров MCS-51, MCS-96, C-166 и других. Компиляция ведется через ассемблер, что позволяет при желании оптимизирвать вручную.
          http://www.tasking.com
            Open Watcom - оч. достойный, кросплатформенный, бесплатный, хорошо оптимизирующий компилятор, поставляемый вместе с набором тулзов для разработки. Хорошая оптимизнутость кода по скорости исполнения на удивление не ведёт к пухлости бинарника, как в случае с Intel CPP. Соответствие стандарту охарактеризовал бы как превосходящее показатели МSVC6, но уступающее МSVC7. С другой стороны, имеет массу полезнейщих варнингов, которые шестой и седьмой студии и не снились. С микросовтовскими библиотеками вполне дружит, компиляция с использованием некоторых хедеров из MS SDKs иногда идёт со скрипом. По оптимизации операций с плавающей точкой, как и все остальные, как и положено, уступает Intel CPP.
              Pacific C - нормальный ANSI C компилятор. когда то баловался с ним под досом. IDE аля turbo c 2.x (был тогда :), генерит неплохой код. DOS/Win32/Embedded Chipsets and Processors. маленький дистрибутив.
                Цитата hummy @
                Open Watcom - оч. достойный, кросплатформенный, бесплатный, хорошо оптимизирующий компилятор, поставляемый вместе с набором тулзов для разработки. Хорошая оптимизнутость кода по скорости исполнения на удивление не ведёт к пухлости бинарника, как в случае с Intel CPP. Соответствие стандарту охарактеризовал бы как превосходящее показатели МSVC6, но уступающее МSVC7. С другой стороны, имеет массу полезнейщих варнингов, которые шестой и седьмой студии и не снились. С микросовтовскими библиотеками вполне дружит, компиляция с использованием некоторых хедеров из MS SDKs иногда идёт со скрипом.

                Ой, вот только не надо про Open Watcom! Я с ним как то повоевал, обнаружил, что очень отвратительно соответсвует Стандарту, поэтому рекомендовать его опасно. К тому же, как уже было замечено, кодогенерация тоже не на высоте. В общем, я не знаю веским причин, по которым можно было бы использовать этот компиль.

                Цитата
                По оптимизации операций с плавающей точкой, как и все остальные, как и положено, уступает Intel CPP.

                ошибаешься, MSVC интела делает как грелку.
                Сообщение отредактировано: Вячеслав КПСС -
                  Цитата Вячеслав КПСС @
                  В общем, я не знаю веским причин, по которым можно было бы использовать этот компиль.

                  Watcom'ом в реализации Open не пользовался. Пользовался Watcom C/C++ 8-10.
                  Компиль позволял:
                  - писать код для стандартного M$-DOS. C & C++
                  - писать код для M$-DOS, используя "extender"'ы -- Dos4GW в частности. C & C++
                  - писать код для Win16 (Win 3.11 и иже с ним). C
                  - писать код для Win32 API. ©
                  - поддерживал (плохинько) MFC.
                  - позволял писать код для OS/2 (WorkPlace Shell, Presentation Manger и "консоль"). C & C++.
                  - позволял писать код для QNX ©. Это был единственный копиль для неё. Теперь -- gcc.
                  - позволял писать код для Novell © -- NetWare Loadeable Modules, aka NLM. Единственный компиль.

                  Цитата Вячеслав КПСС @
                  ошибаешься, MSVC интела делает как грелку.

                  Эээ... Тема-то, вроде, не флеймовая... Без "ля-ля" не удастся? Для чего "делает-то"? Для AMD? Ну, тогда и ясно...
                  Сообщение отредактировано: the_Shadow -
                    Zortech C & C++. Последняя "самостоятельная" версия -- 3.18, если не ошибаюсь.
                    Основное преимущество -- скорость компиляции, единственное, кому в те времена устапал, так это TopSpeed C++ (угу, те же ребята, что и Clarion в те времена выпустили). Zortech был приобретён Symantec, после чего влился в Symantec C & C++. Ныне, по-моему, компиль помер.
                      Цитата Вячеслав КПСС @
                      на самом деле это не так, т.к. по умолчанию он не включает в себя библиотеку CRTL (что не позволяет нам пользоваться многими полезными функциями, например, для работы со строками).

                      Кхммм. Для ряда случаев это -- в корне не верно. В чём основное различие, так это в использовании NASM для ассемблирования кода. За счёт этого, "на ура" стыкуется с асм-кодом на NASM'е и, по сути дела, с извратами -- с MASM'ом.
                        Цитата Вячеслав КПСС @
                        UNIX
                        практически (а может быть и во всех, точно утверждать не берусь) в каждую версию UNIX включён замечательный компилятор GCC.

                        Это набор из ряда компиляторов. Каждый -- тема отдельная:
                        - asm -- gas. Превалирующий синтаксис AT&T, но можно использовать и синтаксис MASM.
                        - С. gcc. Поддерживаемые стандарты -- ansi, C89, C99. Можно выставить pedanic проверку синтаксиса и будет всё здорово.
                        - С++. gpp.
                        - Java -- gcj. Это -- виртуальная машина и компиль от GNU для Java. В общем, совместимо с Sun, но есть ряд различий. Аккуратнее.
                        - Ada95 -- gnats.
                        - Chill (был до недавнего времени включён, теперь выброшен из дерева кода). Язык для телекоммуникаций.
                        - Fortran77.
                        - Objective-C.

                        Включён сей компиль не во все дистрибутивы. Определяется политикой производителя. В Linux, *BSD, QNX -- основа. Solaris -- www.sunfreeware.com -- брать оттуда.

                        Поддерживает свыше 20 семейств процессоров, ряд форматов файлов (a.out, COFF, ELF), ряд отладочных форматов -- STUBS & DWARF & DWARF2 (частично).
                        Сообщение отредактировано: the_Shadow -
                          Замечу, что все языки и компиляторы из вышеперечисленных, позволяют стыковать в пределах одного проекта исходные файлы, написанные на разных языках. Т.е., не просто С + С++, а С + С++ + Java + ... = проект.
                            Цитата
                            Watcom'ом в реализации Open не пользовался. Пользовался Watcom C/C++ 8-10.

                            Пользовался Watcom С/С++, кажется, 11 версии. Осталось очень приятное впечатление от размера получаемого кода. Насколько я понимаю, Open Watcom и Watcom - это разные проекты.
                            В Open Watcom очень плохо обстоит дело с шаблонами (тут пробегало парочка вопросов в разделе Чистый С++ - если кому то интересно может поиск заюзать, как раз тогда я и запробовал Open Watcom - остался недоволен).

                            Цитата
                            Для чего "делает-то"? Для AMD? Ну, тогда и ясно...

                            да и для интела тоже :yes:
                            Сравниваю восьмой интел-компилятор и VC++ 7.1. Ну, может интел кардинально изменился, только я сомневаюсь.
                            В добавок сам процесс компиляции на intel-е гораздо дольше проходит. Чем он там так долго занимается - загадка природы, нужно интернет-траффик проверить у пацана.
                              Цитата
                              В Open Watcom очень плохо обстоит дело с шаблонами
                              В Open Watcom очень плохо обстоит дело с шаблонами в части PTS, в остальном дело обстоит очень хорошо.

                              Про FPO. Именно восьмой, равно как и девятый, в сравнении с VC++ 7.1, рвёт последнего как грелка тузика. Ровно в два с половиной раза, в случае, если на тачке интелловский камень. Сие я наболюдал воочию. Сомневающиеся могут пошарить в инете на предмет бенчмарков.
                                Под Linux существует KDevelop. Визуальная среда похожа на VS, использует gcc.
                                  Через 13 дней VCL возвращается... :)
                                  http://www.turboexplorer.com/homepage.htm


                                  Вышли новые компиляторы: http://www.turboexplorer.com/

                                  Что они из себя представляют: http://bdn.borland.com/article/33659

                                  Где скачать: http://www.borland.com/downloads/download_turbo.html
                                  Сообщение отредактировано: trainer -
                                    Почему-то ни разу не было упомянута SunStudio - компиляторы C/C++/Fortran в одном флаконе + IDE + dbx + dmake + много ещё чего.
                                    Cишный компилятор - один из немногих, кто поддерживает действующий стандарт C, более известный как C99.
                                    Свободная некоммерческая версия скачивается с www.sun.com.
                                    Существует под две оси: линь и соляру.
                                    Сообщение отредактировано: antigen -
                                      Я года 4 пользовался lcc-win32 (поддерживает только С). Хочу замолвить о нем доброе слово.

                                      В-первых, в дистрибутиве этого компилятора/IDE в отличие, например, от Dev-C++ есть визуальный редактор ресурсов. Во-вторых, у него огромная скорость компиляции даже на предельно старой машине (например, Pentium 133). Отладка кода реальна в отличии от того же Dev-C++ -- при отладке lcc-win32 за много лет сам по доброй воле ни разу не глючил и не вылетал.

                                      Я отказался от lcc-win32, когда стал писать алгоритм регистрации программы. Мне нужно было часто менять дату на компьютере и, видимо, make от lcc-win32 меня не понял, среда начала давать сбои. В остальном замечательная штука. Из недостатков специалисты отмечают еще слабую оптимизацию.
                                        Ребят, а какой компилятор лучше всего использовать под MacOS? (ну или хотябы какой самый популярный).
                                          Цитата =MOHAX= @
                                          Ребят, а какой компилятор лучше всего использовать под MacOS? (ну или хотябы какой самый популярный).

                                          а писать тоже на MacOS будете?
                                            MacOS использует GCC
                                              Впрочем существует и
                                              Цитата

                                              Intel® C++ Compiler Professional Edition for Mac OS*
                                                ConceptGCC
                                                Экспериментальный компилятор языка ConceptC++, который позиционируется создателями как кандидат на превращение в новый стандарт С++, известный под названием C++0x
                                                Как следует из названия, компилятор является производным от GCC.
                                                Сырой и нестабильный, но желающие могут попробовать его на вкус. :)

                                                Сообщения были разделены в тему "Какую среду выбрать?"
                                                  Для тех, кто собирает устройства на всяческих мелких восьмибитниках (PIC Microchip, Intel 8051, Motorola HC08, Z80) - Small Device C Compiler. Только чистый C, без плюсов. Фри, опен сорс, лицензия GPL, работает в самых разнообразных операционных средах, в отличие от многочисленных и нифига недешёвых коммерческих аналогов. Опять же, один из немногих, кто поддерживает C99, что во встроенных приложениях весьма актуально.
                                                    Обновил бы топикстартер первое сообщение. Версии хотя бы...
                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                    0 пользователей:


                                                    Рейтинг@Mail.ru
                                                    [ Script execution time: 0,0489 ]   [ 16 queries used ]   [ Generated: 28.03.24, 17:43 GMT ]