Jakým prekladacem byl program prelozen?
Jestlize nevidíte správne ceská písmena, zvolte potrebné kódování cestiny manuálne.
Zmena 5.10.2004: Doplnen název odevzdávacího
adresáre, doplnen zákaz spoléhat se na makra dodávaná prekladacem.
Zadání:
Vytvorte program, který je syntakticky správný v jazyku C i v jazyku C++ a s
vyuzitím rozdílu obou jazyku vypíse, zda byl prelozen prekladacem
podle normy ANSI C, nebo ISO C, nebo C++.
Pozadavky:
- V tomto predmetu budete normálne pouzívat k ulození svých programu speciální
adresáre. V soucasné dobe je vsak dosud nemáte vytvorené, a proto pracujte ve
svém bezném adresári.
- Zdrojový program nazvete
which.c
(Prípona je malé c, aby program
bylo mozno prelozit i prekladacem jazyka C. Prekladac g++ ho i tak prelozí podle
pravidel jazyka C++)
- Pouzitý prekladac lze u nekterých prekladacu
identifikovat téz podle toho, jaká makra dodeklaruje automaticky prekladac.
Techto informací v programu nevyuzívejte, vycházejte z ruzné
interpretace nekterých konstrukcí v ruzných verzích jazyka samotného.
- (Tentýz) zdrojový program prelozte trikrát:
- prekladacem
gcc
s parametrem -ansi
nebo -std=c89
(jazyk ANSI
C) pod výsledným názvem whichc89
- prekladacem
gcc
s parametrem -std=c99
(jazyk
ISO C) pod výsledným názvem whichc99
- prekladacem
g++
(jazyk C++) pod výsledným názvem whichcpp
.
- Preklad provádejte na pocítaci aisa.
Poznámky:
- Dalsí podrobnosti vám napoví, spustíte-li si (na aise) vzorové resení ze
souboru
/home/jkucera/pb161/cvic2/whichc89
, resp. whichc99
,
whichcpp
- Pred prekladem (i pred spustením v minulosti prelozeného
programu) musí být proveden príkaz
module add gcc -
viz Pravidla
pro cvicení.
- Aby program splnoval zadání, musíte pro výpis pouzívat prostredku
jazyka C, nikoli operátor <<. Jazyk C++ dovoluje pouzívat i (pro nej
zastaralé) prostredky jazyka C.
- Zdrojový tvar vzorového programu má délku 16 rádku (420 znaku); studentum vsak
není k dispozici.
- Na rozdíl od následujících príkladu resení nemusíte odevzdávat. Pokud ho presto odevzdáte (a bude cvicícím shledáno
v porádku), dostanete 2 body k dobru. Odevzdávací adresár
/export/e1/pb161/
vás_login/cvic2
vsak zatím
není zrízen, bude vytvoren nejpozdeji k zacátku 3. týdnu semestru. Proto u
tohoto príkladu nemuzete získat dalsí 2 body za odevzdání v týdnu, kdy byl
zadán.
- Tuto úlohu pripravil Ing. Jan Kucera