Kompilacia v Ubuntu
-
jorg22
Medium Professional
- Príspevky: 1087
- Registrovaný: 12 aug 2006, 20:39
- Kontaktovať používateľa:
Kompilacia v Ubuntu
Pls mam jednoduchy zdrojovy kod co som napisal v programovacom jazyku C.Jak ho skompilujem v Ubuntu?Je na to nejaky program jak to potom spustim thx
Neviem, či je v *ubuntu nainštalovaný kompilátor (ak nie bude ho treba nainštalovať). Ale program sa kompiluje napr. takto:
-Wall zapne výpis všetkých chybových hlášok
-O2 pri kompilovaní sa používajú optimalizácie (výsledný program by mal byť menší/rýchlejší)
main.c je vstupný súbor
-o prg výsledný skompilovaný program sa uloží pod menom prg
Ešte môžeš použiť parameter -s. Výsledný súbor bude menší, lebo sa do neho neuložia rôzne informácie (ktoré sú potrebné skôr pri testovaní)
Kód: Vybrať všetko
gcc -Wall -O2 main.c -o prg-O2 pri kompilovaní sa používajú optimalizácie (výsledný program by mal byť menší/rýchlejší)
main.c je vstupný súbor
-o prg výsledný skompilovaný program sa uloží pod menom prg
Ešte môžeš použiť parameter -s. Výsledný súbor bude menší, lebo sa do neho neuložia rôzne informácie (ktoré sú potrebné skôr pri testovaní)
skus v konzole napisat:jorg22 napísal:nie Ubuntu nema gcc.Pls kde si ho stiahnem?
Kód: Vybrať všetko
apt-get install gcc-
jorg22
Medium Professional
- Príspevky: 1087
- Registrovaný: 12 aug 2006, 20:39
- Kontaktovať používateľa:
nejde to
.Toto som skusal skompilovat ale nefacha to.
toto mi vypise
Kód: Vybrať všetko
#include<stdio.h>
#include<conio.h>
void main()
{
printf("LOL,Hallo world.");
}
toto mi vypise
jorg@jorg-desktop:~$ gcc -Wall -O2 /home/jorg/Desktop/palo.c -o prg
/home/jorg/Desktop/palo.c:2:18: error: conio.h: No such file or directory
/home/jorg/Desktop/palo.c:5: warning: return type of ‘main’ is not ‘int’
conio.h nie je súčasťou štandardnej c knižnice (takže odstráň include toho súboru).
Podľa štandardou má byť main:alebo(takže to uprav).
Podľa štandardou má byť main:
Kód: Vybrať všetko
int main(void)Kód: Vybrať všetko
int main(int argc, char *argv[])-
jorg22
Medium Professional
- Príspevky: 1087
- Registrovaný: 12 aug 2006, 20:39
- Kontaktovať používateľa:
No nefim kde robim chybu ale stale tonejde.Tu je kod:
a toto mi napisalo v terminali:
Kód: Vybrať všetko
#include<stdio.h>
int main(void)
{
printf("LOL,Hallo world.");
}
jorg@jorg-desktop:~$ gcc -Wall -O2 /home/jorg/Desktop/palo.c -o prg
/home/jorg/Desktop/palo.c: In function ‘main’:
/home/jorg/Desktop/palo.c:6: warning: control reaches end of non-void function
jorg@jorg-desktop:~$
To je len upozornenie. Keď nejaká má funkcia niečo vrátiť (tá main má výstupný typ int), tak by niečo aj vrátiť mala. 
Daj tam buď (na koniec)alebo incudni súbor stdlib.h a potom tam dajProgram môže vrátiť v podstate akúkoľvek hodnotu, ale zvyčajne keď nenastane chyba vráti 0 (EXIT_SUCCESS) a keď nejaká chyba nastane, vráti nenulovú hodnotu (napr. EXIT_FAILURE).
Daj tam buď (na koniec)
Kód: Vybrať všetko
return 0;Kód: Vybrať všetko
return EXIT_SUCCESS;-
q-parser
Professional
- Príspevky: 1410
- Registrovaný: 04 dec 2004, 16:48
- Bydlisko: /dev/null
- Kontaktovať používateľa:
Nemam ziadne vycitky voci tomuto, vsetko je to pravda. Ja len chcem podotknut, ze pouzitie optimalizacie znemozni ladenie, ktore je pri vacsich programoch dost dolezite.chrono napísal:Neviem, či je v *ubuntu nainštalovaný kompilátor (ak nie bude ho treba nainštalovať). Ale program sa kompiluje napr. takto:-Wall zapne výpis všetkých chybových hlášokKód: Vybrať všetko
gcc -Wall -O2 main.c -o prg
-O2 pri kompilovaní sa používajú optimalizácie (výsledný program by mal byť menší/rýchlejší)
main.c je vstupný súbor
-o prg výsledný skompilovaný program sa uloží pod menom prg
Ešte môžeš použiť parameter -s. Výsledný súbor bude menší, lebo sa do neho neuložia rôzne informácie (ktoré sú potrebné skôr pri testovaní)
Vždy môžeš použiť -O0 
Niekedy sa stane, že program bez optimalizácií funguje a s nimi nie (zvyčajne pri použití -ffast-math [ale ten parameter by sa nemal používať, lebo môže spôsobiť problémy], alebo pri nejakej chybe v gcc), takže niekedy je vhodné debugovať program skompilovaný s optimalizáciami.
Najlepšie je urobiť si nejaký Makefile a tam nastavovať potrebné parametre (napr. ak je definované debug použije sa -O0 -g, a ak nie je tak sa použije -O2 -s [tak nejako to používam ja]).
Niekedy sa stane, že program bez optimalizácií funguje a s nimi nie (zvyčajne pri použití -ffast-math [ale ten parameter by sa nemal používať, lebo môže spôsobiť problémy], alebo pri nejakej chybe v gcc), takže niekedy je vhodné debugovať program skompilovaný s optimalizáciami.
Najlepšie je urobiť si nejaký Makefile a tam nastavovať potrebné parametre (napr. ak je definované debug použije sa -O0 -g, a ak nie je tak sa použije -O2 -s [tak nejako to používam ja]).
ja som pouzil aj g++ takze
Kód: Vybrať všetko
apt-get install gcc g++