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

    Я тут расскажу в основном о компиляторах на платформе 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/

    ..активнее товарищи, дописываем, комментируем
    Opinions are like assholes, everyone's got one.
      Нужно добавить Watcom/OpenWatcom С++, Intel С++
      Упомянуть, что поддерживают стандарт С99 (полностью или частично) - Intel, Digital mars, GCC, Comeau(?), больше не припомню.
        Писал про то, чем пользовался. О! Про Intel совсем забыл!
        Мужики, может кто нибудь напишет про Borland и Watcom?
        Opinions are like assholes, everyone's got one.
          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
          Во имя Ctrl, Alt и святаго Del, Enter!

          Основам программирования не обучаю. Не интересно.
            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 интела делает как грелку.
                Сообщение отредактировано: Вячеслав КПСС -
                Opinions are like assholes, everyone's got one.
                  Цитата Вячеслав КПСС @
                  В общем, я не знаю веским причин, по которым можно было бы использовать этот компиль.

                  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-е гораздо дольше проходит. Чем он там так долго занимается - загадка природы, нужно интернет-траффик проверить у пацана.
                            Opinions are like assholes, everyone's got one.
                              Цитата
                              В Open Watcom очень плохо обстоит дело с шаблонами
                              В Open Watcom очень плохо обстоит дело с шаблонами в части PTS, в остальном дело обстоит очень хорошо.

                              Про FPO. Именно восьмой, равно как и девятый, в сравнении с VC++ 7.1, рвёт последнего как грелка тузика. Ровно в два с половиной раза, в случае, если на тачке интелловский камень. Сие я наболюдал воочию. Сомневающиеся могут пошарить в инете на предмет бенчмарков.
                                Под Linux существует KDevelop. Визуальная среда похожа на VS, использует gcc.
                                Программистами не рождаются...
                                семизначный uin icq
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1388 ]   [ 17 queries used ]   [ Generated: 16.09.19, 16:26 GMT ]