GNU C Compiler я бы выучил только за то, что им откомпилирован QUAKE |
"Внимание! Это программное обеспечение не предоставляет вам АБСОЛЮТНО НИКАКИХ ГАРАНТИЙ! Мы даже не можем гарантировать, что оно не сотрет полностью содержимое вашего винчестера (это случилось с несколькими людьми, но мы уже исправили ошибку). ПОЛЬЗУЙТЕСЬ НА СВОЙ СТРАХ И РИСК! В любом случае, неплохая идея - регулярно совершать резервное копирование вашего жесткого диска."
Несмотря на то, что приведенный выше текст напоминает цитату из кошмара, на самом деле это просто начало readme-файла одного из лучших компиляторов C/C++ - GCC, GNU C Compiler. Являясь единственным достойным конкурентом Watcom по эффективности и спектру предоставляемых возможностей, он имеет дополнительно совершенно уникальные черты, не свойственные больше ни одному компилятору. Кроме того, исключительно важным является то, что продукт этот распространяется по принципу freeware, то есть свободно.
GCC рассчитан прежде всего на пользователей, имеющих опыт работы с Unix. Не стоит ожидать, что он будет вести себя, как программа под DOS. Не стоит также пользоваться этим продуктом для изучения азов программирования. Лучший способ изучить GCC - это ознакомиться с поставляемой с ним документацией, которая является совершенно исчерпывающей.
Компилятор GCC является кроссплатформным. С Unix, где он стал стандартом де-факто, GCC перенесен под DOS DPMI, Windows API, OS/2. Но что всего удивительнее, как говаривал Н.В. Гоголь, так это возможность генерации полноценного кода для целой уймы устройств: от распространенных процессоров для рабочих станций до экзотических микроконтроллеров - полный список занимает несколько страниц.
Такая уникальная переносимость позволяет перекомпилировать Unix-программы под любую из поддерживаемых GCC ОС. При этом исходники почти никогда не требуют переделки, а программа получается не менее эффективной. Это тем более важно, что множество исходников, распространяемых по Internet, написано именно под Unix.
Порт GNU для MS-DOS называется DJGPP. На нем компилировались такие хиты всех времен и народов, как Quake и ADOM. DJGPP позволяет осуществлять нечто вроде эмуляции работы Unix под MS-DOS, до странности эффективной. Все продукты GNU с ним могут работать.
Вместе с компилятором поставляется большое количество разнообразнейших библиотек. Здесь есть практически все, что нужно для эффективного программирования. Хотя само по себе богатство на библиотеки давно уже стало стандартом для любого мало-мальски приличного компилятора, и здесь у GCC - своя изюминка. Все библиотеки GCC поставляются с гипертекстовой документацией и хорошо откомментированными исходными кодами. Причиной тому - лицензионное соглашение GPL.
Итак, GNU - это свободное программное обеспечение. Причем под свободностью в данном случае следует понимать не только бесплатность, но и практическое отсутствие ограничений на распространение, модификацию и разработку программ при помощи GCC и других продуктов GNU. Однако даже и при практическом отсутствии ограничений следует соблюдать некоторые правила.
Вы не имеете права требовать деньги за GNU (это НЕ относится к продуктам, разработанным при его помощи). Вы имеете полное право бесплатно распространять GNU, но при этом обязаны ознакомить нового владельца ПО с лицензионным соглашением и вообще предоставить ему все права, которыми пользуетесь вы.
Вы можете включать любые части GNU в свои программы, обязываясь при этом обеспечить пользователя исходным кодом, датой модификации, описанием и сообщением об отсутствии гарантий (disclaimer - не получая денег за программу, программист не может отвечать за нанесенный ею вред).
Денис МАРГОЛИН
Горячие темы