Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2007-03-21 17:28:36.
Revizia anterioară   Revizia următoare  

DJGPP - instalarea de la A la Z

(Categoria Diverse, autor Aursulesei Tudor)

Probabil ca ai auzit de puternicul compilator Gnu C. Este acela folosit pe la mai toate competitiile mai mari de nationala (inclusiv). Avantaje:

  • lucreaza pe 32 de biti; asta inseamna ca programele compilate cu el vor merge mult mai repede!
  • stiva mai mare ⇒ erorile gen stack overflow vor apare mult mai rar.
  • memorie mai mare ⇒ long x[10000000] chiar exista

Acest ghid este valabil pentru Windows XP.
Inainte sa incepem, trebuie sa raspundem la cateva intrebari:

Ce este DJGPP?

O colectie de programe de UNIX portate pentru DOS. Vizitati http://delorie.com/djgpp pentru detalii. Cel mai important, dupa ce veti instala corect DJGPP, veti putea scrie din linia de comanda in DOS comenzi gen gcc test.c *o test.exe.

Ce este RHIDE?

Este un IDE (Integrated Development Environment) pentru DJGPP. Deosebit de puternic si seamana cu Borland C 3.1 la culoare . Se impaca de minune cu GCC! Important; {NU} vom folosi versiunea de {RHIDE} pe care ne-o ofera {DJGPP}, ci vom folosi una mai noua, dezvoltata de SET. Are propriul lui editor, Setedit, dar a dezvoltat si RHIDE, eliminand o parte din buguri.

Versiunea lui se gaseste la http://sourceforge.net/project/showfiles.php?group_id=32835 , sectiunea extra! Recomand sa o luati acum: pachetul RHIDE 1.5 + Ed 0.5.4 + gdb 6.1.1

Sa incepem

Accesam link-ul http://www.delorie.com/djgpp/zip-picker.html si alegem optiunile (pe rand)

  • Build and run programs with DJGPP
  • Windows 2000/XP
  • Yes
  • C si C++

La Integrated Development Environments and Tools aveti grija sa nu fie selectat RHIDE (dupa cum am zis si mai sus, vom folosi o alta versiune).

De asemenea, alegem No la Optiunea Would you like GDB? (daca folositi GDB, atunci luati si acest pachet). Contiunam cu "Tell me which files I need"

Ar trebui sa obtinem urmatoarea lista:

  • unzip32.exe to unzip the zip files 95kb
  • v2/copying.dj Copyright info 3kb
  • v2/djdev203.zip Basic Development Kit 1.5mb
  • v2/faq230b.zip F.A.Q. 664kb
  • v2/readme.1st Installation instructions 22kb
  • v2gnu/bnu2161b.zip Basic assembler, linker 3.3mb
  • v2gnu/gcc401b.zip Basic GCC compiler 4.0mb
  • v2gnu/gdb611b.zip GNU debugger 1.5mb
  • v2gnu/gpp401b.zip C++ compiler 4.4mb
  • v2gnu/mak3791b.zip Make (processes makefiles)267b
  • v2gnu/txi48b.zip Info file viewer 779kb

Downloadati-le!

Incercati sa le puneti pe toate intr-un director gen c:\djgpp\ (de altfel, pe acesta il folosesc eu si vi-l recomand; articolul presupune in continuare ca aceasta este calea unde ati instalat programul). Deschideti o fereastra de Explorer si faceti drag-n-drop la fiecare arhiva peste executabilul unzip32.exe. Ar trebui sa va apara directoare gen bin si include. Sa nu uitam de versiunea de RHIDE pe care am mentionat-o mai sus. Despachetati-o si pe aceasta in acelasi mod!

Vom contiuna cu setarea variabilei de mediu DJGPP. (foarte important)
Click dreapta pe My Computer → Properties → Advanced → Environment Variables. In sectiunea System variables, editati variabila PATH astfel incat aceasta sa arate si spre calea C:\DJGPP\BIN. Separati caile cu ; (ex: C:\DJGPP\BIN;C:\WINDOWS\system32;.... De asemenea, creeati o variabila noua numita DJGPP care aibe valoarea C:\DJGPP\DJGPP.ENV (daca ati instalat in alta parte, modificati caile dupa caz). Dupa ce ati modificat variabilele de sistem, calculatorul trebuie restartat.

Daca nu doriti sa modificati variabilele de sistem, se recomandacreerea unui fisier batch care sa lanseze RHIDE. Va prezint un exemplu:

@echo off
set PATH=c:/djgpp/bin;%PATH%
set DJGPP=c:/djgpp/djgpp.env
chdir c:/djgpp/lucru
c:/djgpp/bin/rhide.exe

Rulati batch-ul. Ar trebui sa nu dati de o eroare care zice ceva de variabila PATH pusa gresit sau de variabila DJGPP. Daca va apare, recititi partea de variabile de sistem din artivol sau cititi fisierul readme.1st (deschideti-l cu Word, nu cu Notepad). Daca nu aveti nici o eroare, ar trebui sa fiti intampinati de o fereastra in care se zice ceva de Robert Hohne (RH din RHIDE) si Salvador Eduardo Tropea (omul care a imbunatatit RHIDE). Creeati un fisier nou in care sa bagati cateva linii de test.

#include <stdio.h>
int main()
{
    printf("%d %d %d" , 1, 2, 3);
    return 0;
}

Ctrl+F9 ca sa compilati. Ctrl+F2 reset la program. Shift + F4 $ruleaza pana la linia la care se afla cursorul. $Shift+F8 e Step Over fara sa se schimbe modul monitorului (fara flick la monitor). Shift+F7 e Run Into fara sa se schimbe modul monitorului. Shift+F2 e GREP (utilitar UNIX portat). Alt + F5 arata rezultatul rularii programului (in versiunea de RHIDE de pe DJGPP, nu prea mergea aceasta functie). Recomand optiunile din Options → Environment → Preferences.

  • Screen Mode 80 × 50
  • Syntax highlighting

Iar tot din Options → Environment → Editor → Editor Options

  • Autoindent
  • Use Tabs
  • Intelligent C indent
  • Match pair on the fly

...Si altele , pe care va las sa le descoperiti singuri.

Avertizare. Desi aceasta versiune de RHIDE este mai stabila decat cea de pe DJGPP, este sansa sa se prabuseasca la Debugging ceva mai complex (crash ). Nimic nu este perfect. De aceea este recomandat sa salvati din 15 in 15 minute.
Puteti incerca si alte versiuni de RHIDE de la http://rhide.sourceforge.net/snapshots/index.html Unele dau eroare intr-un loc, altele in alt loc. Puteti sa le incercati pe rand.

Amintiti-va totusi sa salvati cat mai des si sa nu urmariti evolutia unor variabile prea mari gen x[10000000] . De asemenea nu incercati sa afisati pe ecran si sa vedeti ce rezultat a iesit cu Alt+F5. S-ar putea sa nu mearga. Daca aveti probleme MARI cu programul, stergeti fisierele

  • rh_opt.gpr
  • rh_opt.gdt

Asta o sa il faca ca nou, in caz ca refuza sa porneasca sau e mai instabil decat era cand l-ati instalat.

Recomand de asemenea sa explorati fiecare meniu si scurtatura a programului, deoarece eu v-am prezentat sumar aproximativ 30% din functii si 30% din optiunile lui optime de functionare! Insist sa verificati sistematic si metodic optiunile; Nu o sa regretati! De asemenea, poate lucra cu FPC (Free Pascal Compiler) , insa va recomand IDE-ul din Free Pascal. Este o opera de arta pentru pascalisti!