Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: rezniad1 01 Října 2011, 14:25:13
-
Ahoj,
chtěl bych zkompilovat soubor.c pomocí gcc přes konzoli.
příkaz: gcc -Wall -pedantic -ansi soubor.c -o soubor(jaká koncovka)?
Jakou mám zadat koncovku a jak následně zkompilovaný soubor spustit přes příkazovou řádku?
Díky moc
Adam
-
koncovku mít nemusí.. jen v terminálu musíš zadat(musíš být v té složce kde je soubor):
sudo chmod +x soubor
a pak ho spustíš takto:
./soubor
-
Linux přípony nepotřebuje, to jen win si myslí že jsou nutné pro správné fungování. Pokud ale na koncovce trváš, můžeš použít ".bin".
gcc soubor.c -o soubor #zkompiluje zdrojak
./soubor #spusti program
@Danny145: Proč sudo?! A gcc nastaví binárce execute bit automaticky...
-
Windows má totiž v tzv. registrech uloženy asociace ke koncovkám a pomocí toho ví v jakém programu má co otevírat. I dokonce samotné exe soubory jsou v registrech a windows ví co s nimi. Trochu odbočím, ale jednodušé se to dá zeditovat a pak ani v samotných oknech nepůjdou spouštět exe soubory :-) Jaká krásná záludnost (poznatek z XP, v novějších verzích je možno, že již nefunguje editace přípon exe v registrech). Něco podobného mají i grafické nadstavby v linuxu. V konzoli (terminalu) je potřeba jak již psal kolega přede mnou dát ./ před spouštěný soubor (a je jedno zdali je to skompilovaná binárka nebo třeba shell skript). A dobré je pokud to nenastavuje kompilátor (nejsem si teď jistý) nastavit na daný soubor spouštěcí příznak: chmod +x jméno_souboru
-
Windows má totiž v tzv. registrech uloženy asociace ke koncovkám a pomocí toho ví v jakém programu má co otevírat. I dokonce samotné exe soubory jsou v registrech a windows ví co s nimi. Trochu odbočím, ale jednodušé se to dá zeditovat a pak ani v samotných oknech nepůjdou spouštět exe soubory :-) Jaká krásná záludnost (poznatek z XP, v novějších verzích je možno, že již nefunguje editace přípon exe v registrech).
Všechny verze od w95 mají na asociaci i klikací dialog, ani není moc schovaný. Ve w3.11 jsem o taky nějak udělal, ale bylo to komplikovanější...
-
@sachy: nevim proč sudo, ale jsem zvyklej ho používat tak jsem zvyklej to házet i semka, ikdyž je vlastník
EDIT: máš recht... mi to nějak vypadlo, že je execute.. tak pak už jen druhej příkaz
-
Díky moc všem.