
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.12.148.147] |
![]() |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Вопросы такие возникают часто, пущай все пользуются. О чём я пропустил (а я пропустил многое) можно дописывать.
Я тут расскажу в основном о компиляторах на платформе 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/ ..активнее товарищи, дописываем, комментируем |
Сообщ.
#2
,
|
|
|
Нужно добавить Watcom/OpenWatcom С++, Intel С++
Упомянуть, что поддерживают стандарт С99 (полностью или частично) - Intel, Digital mars, GCC, Comeau(?), больше не припомню. |
Сообщ.
#3
,
|
|
|
Писал про то, чем пользовался. О! Про Intel совсем забыл!
Мужики, может кто нибудь напишет про Borland и Watcom? |
Сообщ.
#4
,
|
|
|
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 |
Сообщ.
#5
,
|
|
|
Open Watcom - оч. достойный, кросплатформенный, бесплатный, хорошо оптимизирующий компилятор, поставляемый вместе с набором тулзов для разработки. Хорошая оптимизнутость кода по скорости исполнения на удивление не ведёт к пухлости бинарника, как в случае с Intel CPP. Соответствие стандарту охарактеризовал бы как превосходящее показатели МSVC6, но уступающее МSVC7. С другой стороны, имеет массу полезнейщих варнингов, которые шестой и седьмой студии и не снились. С микросовтовскими библиотеками вполне дружит, компиляция с использованием некоторых хедеров из MS SDKs иногда идёт со скрипом. По оптимизации операций с плавающей точкой, как и все остальные, как и положено, уступает Intel CPP.
|
Сообщ.
#6
,
|
|
|
Pacific C - нормальный ANSI C компилятор. когда то баловался с ним под досом. IDE аля turbo c 2.x (был тогда
![]() |
Сообщ.
#7
,
|
|
|
Цитата hummy @ Open Watcom - оч. достойный, кросплатформенный, бесплатный, хорошо оптимизирующий компилятор, поставляемый вместе с набором тулзов для разработки. Хорошая оптимизнутость кода по скорости исполнения на удивление не ведёт к пухлости бинарника, как в случае с Intel CPP. Соответствие стандарту охарактеризовал бы как превосходящее показатели МSVC6, но уступающее МSVC7. С другой стороны, имеет массу полезнейщих варнингов, которые шестой и седьмой студии и не снились. С микросовтовскими библиотеками вполне дружит, компиляция с использованием некоторых хедеров из MS SDKs иногда идёт со скрипом. Ой, вот только не надо про Open Watcom! Я с ним как то повоевал, обнаружил, что очень отвратительно соответсвует Стандарту, поэтому рекомендовать его опасно. К тому же, как уже было замечено, кодогенерация тоже не на высоте. В общем, я не знаю веским причин, по которым можно было бы использовать этот компиль. Цитата По оптимизации операций с плавающей точкой, как и все остальные, как и положено, уступает Intel CPP. ошибаешься, MSVC интела делает как грелку. |
Сообщ.
#8
,
|
|
|
Цитата Вячеслав КПСС @ В общем, я не знаю веским причин, по которым можно было бы использовать этот компиль. 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? Ну, тогда и ясно... |
Сообщ.
#9
,
|
|
|
Zortech C & C++. Последняя "самостоятельная" версия -- 3.18, если не ошибаюсь.
Основное преимущество -- скорость компиляции, единственное, кому в те времена устапал, так это TopSpeed C++ (угу, те же ребята, что и Clarion в те времена выпустили). Zortech был приобретён Symantec, после чего влился в Symantec C & C++. Ныне, по-моему, компиль помер. |
Сообщ.
#10
,
|
|
|
Цитата Вячеслав КПСС @ на самом деле это не так, т.к. по умолчанию он не включает в себя библиотеку CRTL (что не позволяет нам пользоваться многими полезными функциями, например, для работы со строками). Кхммм. Для ряда случаев это -- в корне не верно. В чём основное различие, так это в использовании NASM для ассемблирования кода. За счёт этого, "на ура" стыкуется с асм-кодом на NASM'е и, по сути дела, с извратами -- с MASM'ом. |
Сообщ.
#11
,
|
|
|
Цитата Вячеслав КПСС @ 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 (частично). |
Сообщ.
#12
,
|
|
|
Замечу, что все языки и компиляторы из вышеперечисленных, позволяют стыковать в пределах одного проекта исходные файлы, написанные на разных языках. Т.е., не просто С + С++, а С + С++ + Java + ... = проект.
|
Сообщ.
#13
,
|
|
|
Цитата Watcom'ом в реализации Open не пользовался. Пользовался Watcom C/C++ 8-10. Пользовался Watcom С/С++, кажется, 11 версии. Осталось очень приятное впечатление от размера получаемого кода. Насколько я понимаю, Open Watcom и Watcom - это разные проекты. В Open Watcom очень плохо обстоит дело с шаблонами (тут пробегало парочка вопросов в разделе Чистый С++ - если кому то интересно может поиск заюзать, как раз тогда я и запробовал Open Watcom - остался недоволен). Цитата Для чего "делает-то"? Для AMD? Ну, тогда и ясно... да и для интела тоже ![]() Сравниваю восьмой интел-компилятор и VC++ 7.1. Ну, может интел кардинально изменился, только я сомневаюсь. В добавок сам процесс компиляции на intel-е гораздо дольше проходит. Чем он там так долго занимается - загадка природы, нужно интернет-траффик проверить у пацана. |
Сообщ.
#14
,
|
|
|
Цитата В Open Watcom очень плохо обстоит дело с шаблонами в части PTS, в остальном дело обстоит очень хорошо.В Open Watcom очень плохо обстоит дело с шаблонами Про FPO. Именно восьмой, равно как и девятый, в сравнении с VC++ 7.1, рвёт последнего как грелка тузика. Ровно в два с половиной раза, в случае, если на тачке интелловский камень. Сие я наболюдал воочию. Сомневающиеся могут пошарить в инете на предмет бенчмарков. |
Сообщ.
#15
,
|
|
|
Под Linux существует KDevelop. Визуальная среда похожа на VS, использует gcc.
|