Компилатор и редактори за състезанията по програмиране

Увод  •  Компилатор и редактори  •  Инсталиране  •  Използване  •  Деинсталиране

Увод

Следният текст описва работните средства – компилатор и текстови редактори – за използване на националните и други състезания по информатика, при подготовка за тях или изобщо при програмиране на C++, и посочва как да бъдат инсталирани за правилна работа. Програмите са окомплектовани по такъв начин, че с възможно най-малко усилия да се разполагат на един или повече компютъра. Всеки от редакторите е подходящо настроен да позволява удобно компилиране и изпълняване на програми на C++.

Избраните тук компилатор и текстови редактори:

  • са съвременни, надеждни, широкоизползвани по света инструменти за програмиране;
  • с едно изключение, освен реализациите за MS Windows, за които става дума по-долу, съществуват такива на същите програми и за Linux;
  • се развиват активно и периодично ще бъдат обновявани тук;
  • са неголеми по обем, прости за употреба и същевременно с богати възможности.


Настоятелно се препоръчва да се ползват предоставените тук, подходящо приспособени, версии на всички програми, а не оригиналните!

Компилатор и редактори

Компилатор

Компилаторът е производен на (и едноименен с) компилатора GCC за Linux и отговаря на съвременния стандарт на езика C++: C++17. В случая на разположение е не само GCC, а програмната среда MinGW, която съдържа GCC, дебъгера GDB и други съставки, необходими за създаване и изпълняване на програми в MS Windows – както 32-, така и 64-разреден вариант.

Code::Blocks

Типична т.нар. интегрирана среда (ИС): текстов редактор с допълнителни възможности за работа с програмен текст, за управление на програмни проекти и др. инструментални средства. В това отношение Code::Blocks е единствен тук – посочените по-долу програми са текстови редактори с елементи на ИС, но не ИС в пълния смисъл. За обучение по програмиране обаче, а също и при разработване на не много големи програми, особеностите на Code::Blocks като ИС не са предимство, а по-скоро обратно: изобилието от менюта и команди не само не помага, а дори пречи, отвличайки вниманието и заемайки значителна част от екрана.

Получаваните при инсталирането препратки за Code::Blocks осигуряват такова стартиране на програмата, при което тя е самостоятелна – съхранява конфигурационния си файл в собствена директория и така не се влияе от подобни файлове на други места, възможно създадени от други екземпляри на програмата, а също и не променя такива файлове. (Това следва да се подчертае, тъй като при обичайния начин на стартиране и работа Code::Blocks прави обратното.)

За създаване на програма в нов файл от менюто File се изпълнява New -> File... -> C/C++ source. Нататък се избира C++, директорията, в която да стои файла и името му. Разширението .cpp се добавя към името автоматично.

Компилирането на програма става с Ctrl-F9 или с командата Build от менюто Build, а изпълнението ѝ – с Ctrl-F10 или с командата Run от същото меню.

Vim

Изключително мощен и производителен текстов редактор, един от двата най-широко използвани за професионално програмиране и редица други цели. Трябва да се има предвид обаче, че начинът на работа с този редактор е особен, не приличащ на този при повечето други редактори, поради което използването му предполага предварително запознаване със специфичните за него принципи на работа.

Вж. следните кратки сведения за използване на Vim.

Компилирането на програма става с F7 или с командата Compile and Link от менюто C/C++, а изпълнението ѝ – с F5 или с командата (Build and) Run от същото меню. С F6 или със съответната команда все от същото меню програмата се изпълнява, като взема за вход отбелязан (избран) текст.

С Ctrl-S или командата Run a Shell редакторът отваря специален файл, в който стартира командния интерпретатор (cmd) в директорията, в която се намира файлът с програмата.

Geany

Много широко използван за програмиране текстов редактор.

Компилирането на програма става с F9 или с командата Build от менюто Build, а изпълнението ѝ – с F5 или с командата Execute от същото меню.

CudaText

Сравнително нов, отлично развит редактор. В някои от свойствата си наподобява придобилия много голяма популярност редактор Sublime Text, но за разлика от него (и както всички описвани тук програми) е свободно разпространяем.

Компилирането на програма става с Alt-1 или с командата Build C++ от менюто Tools, а изпълнението ѝ – с Alt-2 или с командата Run in console от същото меню.

С Alt-3 или с Open console все от същото меню се стартира командният интерпретатор (cmd) в директорията, в която се намира файлът с програмата.

Notepad++

От тук представените редактори единствено този не е реализиран и за Linux, но сред потребителите на MS Windows има много голяма популярност.

Компилирането на програма става с Ctrl-F9, а изпълнението ѝ – с Ctrl-F10. Същите действия са достъпни и чрез Plugins -> NppExec.

Инсталиране

Истинско инсталиране, в смисъла, в който това се разбира в MS Windows, няма – по същество „инсталирането“ се свежда до разархивиране и някои допълнителни действия. В частност, за разполагане на програмите не се изискват права на администратор.

За разполагане на програмите на даден компютър направете следното.

  1. Копирайте файловете
    programming-with-c++.7z
    7za.exe
    setup.bat
    do-setup.js
    в някоя директория – най-добре празна.
  2. Отворете конзолен прозорец и направете дадената директория текуща в него.
  3. В командния ред на конзолата изпълнете едно от трите:
              setup,
              setup n или
              setup y
    (вж. по-долу кое за каква цел е).
  4. Затворете конзолния прозорец.

След като инсталирането завърши, проверете работоспособността на инсталираните програми, вкл. и чрез препратките.

Трите варианта на изпълняване на setup имат следното действие:

setup
Програмата се стартира в диалогов режим. Най-напред тя пита за потвърждаване на текущия потребител (според операционната система) и дава възможност да бъде прекратена, ако той е неподходящо избран. След това програмата разархивира файла programming-with-c++.7z, при което се образуват директории за компилатора (по-точно – средата MinGW) и текстовите редактори. Ако такива директории съществуват в текущата отпреди това, старото им съдържание бива изтрито и съответно заменено. След като този процес завърши, инсталиращата процедура добавя името на главната изпълнителна директория на MinGW към стойността на променливата PATH (освен ако то вече не е там) и поставя в тази директория, както и на потребителския работен плот препратки (shortcuts) към текстовите редактори. Накрая програмата запитва дали да изтрие четирите работни за инсталирането файла (вкл. себе си) и при потвърждение го прави.
setup y
Изпълнява се недиалогово инсталиране. Приема се без запитване и потвърждаване текущият потребител, след което се извършват действията както по-горе при setup, като накрая инсталационните файлове се изтриват.
setup n
Изпълнява се недиалогово инсталиране както при setup y, но инсталационните файлове не се изтриват.


Инсталиране е възможно и ако изпълните само стъпка 1. от по-горе и после щракнете с мишката върху файла setup.bat (в съответно отворен прозорец на explorer за директорията с файловете) – тогава се изпълнява диалоговият вариант на инсталирането.

Използване на програмите

Всеки от текстовите редактори може да се стартира чрез съответната препратка от работния плот или от кой да е конзолен прозорец. В последния случай командите за това са съответно CbLauncher.lnk, CudaText.lnk, Geany.lnk, gvim.lnk и Notepad++.lnk (използването на главни букви не е задължително). На командния ред заедно с командата може да бъде посочено и име на файл – нов или съществуващ, с който редакторът да работи.

Компилиране и свързване на програма на C++, освен чрез кой да е от текстовите редактори, може да се направи чрез изпълняване на командата cxx в конзолен прозорец. Например, ако файлът с програмата е prog.cpp, изпълняваме

cxx prog

Деинсталиране на програмите

За премахване на програмите от даден компютър е достатъчно да се изтрие директорията, в която се намират те, или съответните шест поддиректории – по една за компилатора и за всеки от редакторите. С това препратките от работния плот стават ненужни и също могат да се премахнат.

Може да се изтрие и само директорията на някой отделен редактор или няколко такива директории.

Бойко Банчев