Fórum Ubuntu CZ/SK

Ostatní => Otevřená diskuze kolem Linuxu a OSS => Téma založeno: Peter Smatana 21 Června 2006, 15:29:46

Název: gcc
Přispěvatel: Peter Smatana 21 Června 2006, 15:29:46
Dobrý den. Pokouším se programovat v Linuxu v jazyce C. Napsal jsem si ve vim-ovi hello world:

#include <stdio.h>

main(void)
{
  printf("ahoj");
  retunr 0;
}
Zkompiloval jsem ho: gcc -o zdrojak zdrojak.c (takhle to píšou v knížce) a dostal jsem tento výpis:

root@smonty:~# gcc -o zdrojak zdrojak.c
zdrojak.c:1:19: error: stdio.h: není souborem ani adresářem
zdrojak.c: In function ‘main’:
zdrojak.c:5: warning: incompatible implicit declaration of built-in function ‘printf’
zdrojak.c:6: error: ‘retunr’ undeclared (first use in this function)
zdrojak.c:6: error: (Each undeclared identifier is reported only once
zdrojak.c:6: error: for each function it appears in.)
zdrojak.c:6: error: syntax error before numeric constant


poradíte mi někdo kde dělám chybu? díky smonty (na manuál gcc jsem se díval ale má cca 8897 stran anglicky)
Název: gcc
Přispěvatel: Ondřej Surý 21 Června 2006, 15:33:08
Ano, přepište ten zdroják podle knížky přesně...  podobně bohužel nestačí :-).
Také musíte mít nainstalované vývojové knihovny:
Kód: [Vybrat]
sudo apt-get install build-essentialO.
Název: gcc
Přispěvatel: Peter Smatana 21 Června 2006, 16:05:02
dik,

btw: sorry ale ty jsi asi urcite linuxovy/programatorsky guru. ja su amater ale makam na sobe. kazdy nejak zacina :-)
Název: gcc
Přispěvatel: Ondřej Surý 21 Června 2006, 16:25:38
Neberu to tak vážně, jak to z toho fóra může vypadat...  Ty smajlíky to občas nevyjádří přesně...

Jinak ten příklad z knížky je navíc blbě, měl bys explicitně uvést, že návratová hodnata main je int, tj. něco jako:

#include <stdio.h>

int main(void) {
  puts("ahoj, svete.\n");
  return 0;
}


pár vysvětlivek...  puts je lepší používat, když vypisuješ statické řetězce, protože printf se snaží rozebrat první parametr a hledá v něm formátovací značky.
V Cčku také musíš explicitně vypsat konec řádku, Cčko dělá opravdu jen to, co mu řekneš, žádná automagická funkcionalita tam není.

A jen tak na okraj, pokud se učíš programovat, tak bych ti raději doporučil pro začátek Python, je to moc hezký jazyk a většina věcí se v něm píše mnohem rychleji a elegantněji, ale samozřejmě záleží na oblasti použití.

O.
Název: gcc
Přispěvatel: drat 22 Června 2006, 10:25:27
C je krásný a poměrně jednoduchý jazyk. Jen se v něm občas musí napsat víc instruckí než v jiných jazycích, protože opravdu dělá téměř jen to co se mu řekne :). Rozhodně se ho uč. Když jsem kompiloval první zdroják na linuchu taky mi to řvalo že nemůže najít hlavičkové soubory :D
Název: gcc
Přispěvatel: Ondřej Surý 22 Června 2006, 11:38:47
Ano, souhlasím s tím, že C je krásný jazyk. Jen říkám, že záleží na oblasti použití. GUI aplikaci pro desktop skoro dneska nemá smysl psát v Cčku a naopak modul do apache těžko v Pythonu někdo bude psát.
Název: gcc
Přispěvatel: Peter Smatana 22 Června 2006, 18:29:33
Ono je to těžké, já se učím programovat v C, Delphi, PHP, používat Linux a nevím jestli se učit v Perlu nebo v Pythonu. Jsem na gymplu v prváku a mám relativně dost času :-D

btw: Jaký je rozdím mezi Perlem a Pythonem? proč se učit ten a ne ten druhý, co je lepší, používanější?
Název: gcc
Přispěvatel: Jakub Šťastný 22 Června 2006, 18:43:48
Citace: Smonty
btw: Jaký je rozdím mezi Perlem a Pythonem? proč se učit ten a ne ten druhý, co je lepší, používanější?
Heh, no to je o tom, co chces. Python je IMHO rozsirenejsi, pisou se v nem i velke aplikace, jako je skvely Gajim nebo Portage. Perl je spise na skripty, nevim o zadne velke aplikaci v Perlu. Zase ma ale vyuziti ohledne webu. V obou se casto pisou boti (i kdyz casteji v Pythonu). A co se tyce regularnich vyrazu, tak je naprosto neoddiskutovatelne, ze Perl rulez ;-) Perl je prakticky (heh, ma to i v nazvu - Practical Extraction and Report Language), nevykecava se s clovekem hodinu o tom, jakou knihovnu pouzit atp., ale "jde rovnou na vec". Ma silene volnou syntax. V Linuxu se da velmi dobre upotrebit jednorazove v bashi...J
Název: gcc
Přispěvatel: Jakub Šťastný 22 Června 2006, 18:50:09
http://www.linuxsoft.cz/article_list.php?offset=32&id_kategory=210
http://www.linuxsoft.cz/article_list.php?id_kategory=217
Název: gcc
Přispěvatel: Ondřej Surý 23 Června 2006, 11:05:30
Citace: botanicus
Citace: Smonty
btw: Jaký je rozdím mezi Perlem a Pythonem? proč se učit ten a ne ten druhý, co je lepší, používanější?
Heh, no to je o tom, co chces. Python je IMHO rozsirenejsi, pisou se v nem i velke aplikace, jako je skvely Gajim nebo Portage. Perl je spise na skripty, nevim o zadne velke aplikaci v Perlu. Zase ma ale vyuziti ohledne webu. V obou se casto pisou boti (i kdyz casteji v Pythonu). A co se tyce regularnich vyrazu, tak je naprosto neoddiskutovatelne, ze Perl rulez ;-) Perl je prakticky (heh, ma to i v nazvu - Practical Extraction and Report Language), nevykecava se s clovekem hodinu o tom, jakou knihovnu pouzit atp., ale "jde rovnou na vec". Ma silene volnou syntax. V Linuxu se da velmi dobre upotrebit jednorazove v bashi...J
:-) Tak to jsi mě pobavil s tím, že je Python rozšířenější...  Perl je asi tak dvakrát třikrát starší jazyk a jsou v tom psané mnohé velké obludnosti. Python je novější a modernější jazyk a má mnohem lepší návrh.

Nicméně pokud se chceš učit něco od začátku, tak rovnou Python. Je to mnohem přehlednější jazyk. Ona volná struktura Perlu vede většinou pak k tomu, že pokud programátor nemá vysokou kulturu psaní programů, tak to po něm už nikdy nikdo nepřečte.

Takže určitě Python.
Název: gcc
Přispěvatel: Jakub Šťastný 23 Června 2006, 14:26:06
Velke obludnosti v Perlu - mohu prosit o par prikladu? Pro pouceni, dik :-) Mne tedy prijde, ze moderni veci se pisou v jednom kuse v Pythonu, ale programator prece jenom nejsem. J
Název: gcc
Přispěvatel: krokyn 04 Května 2007, 11:01:12
můžete mi poradit, kde se dají stáhnout potřebné hlavičkové soubory pro počítač, který není na síti?

instaloval jsem Kubuntu doma, ale nemohu kvůli tomu zkompilovat ndiswrapper, protože hlavičkové soubory chybí
Název: gcc
Přispěvatel: Jakub Lucký 04 Května 2007, 11:10:16
Citace: krokyn
můžete mi poradit, kde se dají stáhnout potřebné hlavičkové soubory pro počítač, který není na síti?

instaloval jsem Kubuntu doma, ale nemohu kvůli tomu zkompilovat ndiswrapper, protože hlavičkové soubory chybí
Tipoval bych to na balíčky: linux-headers
Název: gcc
Přispěvatel: krokyn 04 Května 2007, 11:31:20
apt-get mi dal na výběr šest balíčků, který z nich si mám vybrat?
Název: gcc
Přispěvatel: Jakub Lucký 04 Května 2007, 21:18:15
Vyberte ten podle vašeho jádro

Jádro zjistíte příkazem
uname -r