Pagini recente » Istoria paginii problema/bursa | Diferente pentru propuneri/10-virtual-contest intre reviziile 10 si 11 | Algoritmiada 2009 - Runda 1, Clasele 9-10 | Istoria paginii algoritmiada-2011/runda-3/10-12 | Diferente pentru djgpp-instalarea-de-la-a-la-z intre reviziile 24 si 34
Nu exista diferente intre titluri.
Diferente intre continut:
h1. DJGPP - instalarea de la A la Z
(Creat de ==user(user="TheStick" type="tiny")== la data de _2006-03-12_ 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
* e cel mai tare; ce mai... ${:)}$
Acest ghid este valabil pentru $Windows XP$.
Inainte sa purcedem, trebuie sa raspundem la cateva intrebari:
h2. Ce este DJGPP?
O colectie de programe de $UNIX$ portate pentru $DOS$. Vizitati "http://delorie.com/djgpp":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$.
h2. 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":http://setedit.sourceforge.net. 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":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$ Nu mai sta si downloadeaz-o!
h2. Sa incepem
Accesam link-ul "http://www.delorie.com/djgpp/zip-picker.html":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?$ 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). 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$.
Editati variabila $PATH$ astfel incat aceasta sa arate si spre calea $C:\DJGPP\BIN$. De asemenea, creeati o variabila noua numita $DJGPP$ care sa "pointeze" catre $C:\DJGPP\DJGPP.ENV$.
Recomand creerea unui fisier batch care sa lanseze $RHIDE$. Va prezint un exemplu:
== code(c) |@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, 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.
== code(c) |#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 deosebit de util). $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 x 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. Eu am renuntat la orice alt $IDE$, deoarece $RHIDE$ e cel mai bun. Daca o sa te deranjeze crash-urile, ramai la $Borland C$. Nu este greu sa te inveti cu toate capriciile acestui program care te forteaza sa salvezi din 15 in 15 secunde, lucru benefic de alt fel. Dupa ce va obisnuiti, crash-urile vor ramane o amintire neplacuta!
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
* 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!
Va rog totusi, inainte sa va plangeti de bugurile acestui program, sa folostiti si versiunea de $RHIDE$ pe care v-o pune la dispozitie $DJGPP$. Acolo, de abia, gasiti bug-uri!
h2. {@~~~@}FIN{@~~~@}
h3. POVESTITOR: Tudor Aursulesei
Multumiri: DJ, RH si SET
Daca ati avut timp si rabdare sa cititi pana aici, doresc sa imi cer scuze pentru felul defectuos in care (probabil) m-am exprimat.
Nu exista diferente intre securitate.
Diferente intre topic forum: