Ką reiškia kompiliatoriaus direktyvos?

 

Klausimas: Kaip suprasti Respublikinio etapo dalyvio atmintinės punktą:

Testuojant programos bus kompiliuojamos naudojant tokią kompiliavimo komandą:

  • /usr/bin/fpc -dEVAL -XS -O1 -oprogramos-pavadinimas programos-pavadinimas.pas

Ar ta eilutė turi būti parašyta  programoje?


Atsakymas. Atkreipiame dėmesį, kad kompiliavimo komandas (ir direktyvas) naudojamas konkrečioje olimpiadoje rasite prisijungę prie varžybų sistemos prieš olimpiadą arba tos olimpiados atmintinėje. Šis atsakymas yra bendro pobūdžio ir pasikeitus komandai/direktyvai šis klausimas bei atsakymas nebus atnaujinami.

 Direktyva -O1 reiškia, kad kompiliavimo metu vykdomos optimizacijos lygis yra pirmas.

Direktyva -XS reiškia, kad vykdomas statinis kompiliavimas (t.y. bibliotekos įkompiliuojamos į vykdomąjį failą). Statinis kompiliavimas iš esmės programos veiksenos nekeičia, keičiasi tik gaunamos vykdomos programos dydis ir nekyla problemų dėl bibliotekų nesuderinamumų ar neprieinamumo.

 


 

Dėl šių kompiliavimo parametrų programos vykdymas iš esmės nesikeičia ir dėl jų olimpiados metu neturėtumėte rūpintis. Šios direktyvos yra nurodomos laikantis tarptautinių informatikos olimpiadų standartų: jose įprasta detaliai nurodytis visus techninius parametrus.

Varžybų sistemoje dalyvių pateiktos programos yra kompiliuojamos su komandinės eilutės kompiliatoriais, o ne per integruotas aplinkas (FPS, Dev-C++ ar pan.). Todėl visi nurodymai ką kompiliuoti ir su kokiais nustatymais nurodomi komandinėje eilutėje.

Jei norėtumėte gauti analogišką veikseną Windows ir pas jus įdiegtas FPS, tai galima būtų gauti tokiu būdu:

	Start->Run   
įvedame cmd
Enter

Gauname komandinę eilutę. Tarkime kad dalyvio programa išsaugota darbastalyje ir pavadinta demo.pas.

Įvykdome:

cd Desktop
"c:\Program Files\Rimga\FPS 0.9.6\fpc\bin\i386-win32\fpc"  demo.pas -O1 -XS

 Tokiu būdu programa bus sukompiliuota statiškai (visos bibliotekos įkompiliuotos į exe failą) ir gautas exe failas išsaugotas ant darbastalio.

Linux operacinėje sistemoje tai atliekama analogiškai, skiriasi tik programų keliai.

Komentarai

Naujas komentaras

Tekstas: Koks miesto, kuriame vyko BOI'2014 metais, pavadinimas? (žr. logotipą šone) Jūsų vardas:

Komentarų nėra

%title

%date2
%text

Kalendorius

Balandis 2024

Pir Ant Tre Ket Pen Šeš Sek
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12
Šeštadienis, balandžio 20 d.

BOI


BOI


IOI