Арсенал за C програмисти
След като съм работил в различни екипи и проекти, мисля, че няма да отворя нов континент, като кажа, че Microsoft Visual C ++ или същите решения от бившия Borland далеч не са единствените C / C ++ интегрирани среди за разработка, които са популярни и използвани. Понякога комбинациите са просто невероятни и много зависи от годината на стартиране на проекта, предразположенията на програмистите, които са го стартирали, платформата, финансовите и технически изисквания към използвания софтуер. Що се отнася до предразположенията, между другото, това далеч не е шега. Наскоро аз самият се сблъсках с факта, че трябваше да се погледна отстрани (най-любимият език е C, следващият според собствените ми предпочитания е Lua ..., който всъщност също е C :)). Много млади програмисти научават C и C++ сравнително свободно, като предпочитат да преминат бързо към езици от по-високо ниво. Това не е нито добро, нито лошо, точно като професионално усъвършенстване, ако нещо е пропуснато, има връщане към основите на програмирането на нивото на изучаване на определени концепции, а понякога дори и към C / C ++.
Като цяло около две дузини компилатори на C/C++ и около тридесет IDE в момента са подходящи за C/C++. Има и високоспециализирани ниши. Тази информация трябва да бъде организирана. Съставянето на подобен списък от връзки към компилатори, IDE, библиотеки, допълнителна информация, се заех едновременно. Активните читатели също могат да участват, като изпратят връзки към тези софтуерни решения, които не са тук. Факт е, че този списък ще бъде публикуван в мрежата и постоянно ще бъде в режим на актуализиране. Днес ще дадем връзки към безплатни компилатори и IDE. Ако решите да научите C или C++, след като прочетете тази статия, като вземете същия MSVC++, Code::Blocks, Dev-C++ и т.н. като основа, тогава, малко по-напред от кривата, препоръчвам книги:Б.В. Керниган, Д.М. "The C Language" на Richie и/или "The C++ Programming Language" на Bjorn Stroustrup, както и някои типични книги със задачи, които също могат да бъдат добри книги за интервюта за интервюта за програмисти на тези езици. Така че да тръгваме.
. Microsoft Visual C++ Express (http://msdn.microsoft.com/vstudio/express/visualc/) е безплатен компилатор за Windows и .NET.
. Embedded Visual C++ (http://msdn.microsoft.com/mobility/othertech/eVisualc/) е безплатен C++ компилатор за Windows Mobile и Windows CE. . GNU C++/C Compiler, GCC (http://gcc.gnu.org/) — GCC (съкращение от GNU Compiler Collection), безплатен, мултиплатформен пакет за компилиране с отворен код. Разработено от проекта за свободен софтуер GNU (GNU е обратен акроним на „GNU не е Unix“). След първоначалната поддръжка за C, тогава имаше разширение за C ++, Objective-C, Java, Fortran, Ada. На базата на GCC са разработени множество специфични компилатори за различни, вкл. и уникални платформи. В някои случаи те се наричат "базирани на GCC". Струва си да се каже, че някои разработчици са го подложили на сериозна критика (вижте Portable C Compiler).
. MinGW (http://www.mingw.org/) е минималистичен пакет за Windows (Minimalist GNU за Windows). По същество това е порт на GNU Compiler Collection (GCC) (вижте по-горе) за Windows, плюс безплатна колекция, която включва общи заглавни файлове и библиотеки. Използва се много често при програмиране под Windows. Трябва да кажа, че първоначално MinGW беше разработен на базата на Cygwin (вижте следното), но от версия 1.3.3 на последния той беше отделен и се разработва като независим проект, подкрепен от световната общност.
. Cygwin (http://www.cygwin.com/) е инструмент за пренасяне на UNIX софтуер къмWindows и е библиотека, която внедрява POSIX API въз основа на системни извиквания на Win32. Състои се от две части: библиотека с динамични връзки (DLL) cygwin1.dll, която осигурява API съвместимост и имплементира значителна част от стандарта POSIX, и колекция от приложения, които предоставят позната UNIX среда. Както става ясно от написаното, за да осигури съвместимост с Windows, Cygwin използва dll слой, върху който се стартират програми (за разлика от концепцията MinGW, която използва Win API извиквания директно). Този подход засяга и лиценза, тоест, използвайки Cygwin, трябва да предоставите софтуера си като отворен код (това не се изисква в MinGW).
. Clang (http://clang.llvm.org/) е нов компилатор/фронтенд за C-подобни езици (C/C++/Objective-C/Objective C++), създаден специално за работа на базата на рамката LLVM (Low Level Virtual Machine), за която в повечето случаи GCC версиите все още се използват като фронтенд. LVMM действа като бекенд и може да се инсталира на MacOS, Linux, FreeBSD, Solaris и Windows платформи. Основната цел на Clang е да замени GCC. Като основна IDE за него сега е XCode.
. Borland C++ 5.5 (http://forms.embarcadero.com/forms/BCC32CompilerDownload) е компилатор от Borland, сега собственост на Embarcadero Technologies, за Win32 и DOS, безплатна версия може да бъде получена законно, така че много IDE от средата на 2000-те включват поддръжка за него.
. Digital Mars (http://www.digitalmars.com/) е набор от C/C++ компилатори и IDE за Win32, Win16, DOS32 и DOS.
. Open Watcom (http://www.openwatcom.org/) - C, C++ и Fortran компилатори за Windows, Linux, OS/2 иDOS. Те проследяват историята си обратно към компилаторите на Fortran, а през 1988 г. се появи компилатор за C, който беше много оценен от повечето разработчици на C / C ++ за генериране на бърз и компактен код. На негова основа бяха написани ключови игри под DOS като Doom или Warcraft II. През 2003 г. изходните кодове бяха отворени. Имаше няколко проблема по време на процеса на разработка, но сега повечето от тях са решени.
. Intel C++ компилатор (http://www.intel.com/cd/software/products/asmo-na/eng/compilers/clin/219856.htm) е безплатен C++ компилатор от Intel за Linux. Изпълнява се от командния ред, може също да се интегрира в Eclipse IDE. Вече не е на уебсайта на Intel, въпреки че може да бъде намерен на различни ресурси. Някои сайтове също се позовават на някакъв компилатор на Intel C++ за Windows, но не съм срещал такъв. . Macintosh Programmer's Workshop (http://developer.apple.com/tools/mpw-tools/) - тук можете да намерите безплатни C++ компилатори, дебъгери, асемблери и друга информация за платформата Mac.
ladsoft/cc386.htm) е C компилатор и IDE за 32-битови Win и DOS.
. Amsterdam Compiler Kit, ACK (http://tack.sourceforge.net/) е набор от C компилатори и инструменти за Linux, Minix и други Unix-подобни операционни системи, по-специално всички BSD варианти.
. LCC (http://sites.google.com/site/lccretargetablecompiler/) - C компилатор (изходният код е предоставен за некомерсиална употреба), за Win 32 има опция със собствена IDE. Няколко IDE са базирани на LCC, като Pelles C за Windows и Windows Mobile.
. Преносим C компилатор, PCC (http://pcc.ludd.ltu.se/) — C компилатор за Linux и Unix-подобен (BSD), написан от Стивън С. Джонсън от Bell Labs в средата на 70-те, сега поддържан от Андрес Магнусон. Всъщност това е един от първите компилатори, способни наза адаптиране на кода към различни архитектури на изчислителни системи, само малка част от неговия изходен код зависи от платформата, докато PCC е строг по отношение на синтактични грешки. Всичко това направи портативния C компилатор дълготраен. В средата на 80-те много C компилатори са написани на базата на PCC. Струва си да се отбележи, че разработчиците на OpenBSD по едно време (2007 г.) критикуваха много GCC, наричайки го „тромав, бъгав, бавен и генериращ лош код“, и оттогава те преминаха към PCC.
. Tiny C Compiler (http://bellard.org/tcc/) - C компилатор за Win32 и Linux. Работи няколко пъти по-бързо от GCC (понякога почти порядък).
. Portable Object Compiler (http://users.telenet.be/stes/compiler.html) е набор от библиотеки от класове Objective-C и предкомпилатор, способен да превежда Objective-C код в стандартен C. Има версии за MacOS, Linux, OS/2 и Windows.
. C компилатор за малки устройства, SDCC (http://sdcc.sourceforge.net/) е мултиплатформен набор от C компилатори за микроконтролери, версиите на Linux и MacOS са базирани на GCC, версията на Windows е базирана на MinGW.

. Code::Blocks (http://www.codeblocks.org/) е може би една от най-популярните IDE сред програмистите днес, както в стандартните сегменти, така и в разработката на игри (това е мястото, където най-често срещах Code::Blocks). Той предоставя различни видове проекти с предварително зададени настройки, като C Console Application или за DirectX или OpenGL. Има пълна интеграция с кръстосаната GUI библиотека wxWidgets (http://www.wxwindows.org/). Поддържаследните типове компилатори са GCC (MinGW/Cygwin), MS Visual C++, Borland's C++ 5.5, DigitalMars, OpenWatcom, Small Device C Compiler (SDCC) и т.н. Може да импортира MS Visual C++ проекти, както и Dev-C++ проекти.




. KDevelop (http://kdevelop.org/) — C/C++ IDE за MS Windows, Mac OS X, Linux, Solaris и FreeBSD. Преди това придоби голяма популярност сред програмистите на Linux, т.кобхваща по-малко платформи.



