Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: gcc  (Přečteno 4520 krát)

Peter Smatana

  • Návštěvník
  • Příspěvků: 58
gcc
« kdy: 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)
« Poslední změna: 19 Října 2007, 19:28:56 od Anna Taliánová »

Ondřej Surý

  • Host
gcc
« Odpověď #1 kdy: 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.

Peter Smatana

  • Návštěvník
  • Příspěvků: 58
gcc
« Odpověď #2 kdy: 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 :-)

Ondřej Surý

  • Host
gcc
« Odpověď #3 kdy: 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.
« Poslední změna: 19 Října 2007, 19:29:46 od Anna Taliánová »

drat

  • Aktivní člen
  • *
  • Příspěvků: 394
gcc
« Odpověď #4 kdy: 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
« Poslední změna: 19 Října 2007, 19:30:36 od Anna Taliánová »

Ondřej Surý

  • Host
gcc
« Odpověď #5 kdy: 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.

Peter Smatana

  • Návštěvník
  • Příspěvků: 58
gcc
« Odpověď #6 kdy: 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ší?
« Poslední změna: 19 Října 2007, 19:31:23 od Anna Taliánová »

Jakub Šťastný

  • Stálý člen
  • **
  • Příspěvků: 1441
gcc
« Odpověď #7 kdy: 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
Jabber: mistnost ubuntu na serveru chat.linjab.net Návod na připojení
Česká ubuwiki: wiki.ubuntu.cz/
Nejhorší IM  Nejlepší IM Vim rulez ;-) Návod

Jakub Šťastný

  • Stálý člen
  • **
  • Příspěvků: 1441
Jabber: mistnost ubuntu na serveru chat.linjab.net Návod na připojení
Česká ubuwiki: wiki.ubuntu.cz/
Nejhorší IM  Nejlepší IM Vim rulez ;-) Návod

Ondřej Surý

  • Host
gcc
« Odpověď #9 kdy: 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.

Jakub Šťastný

  • Stálý člen
  • **
  • Příspěvků: 1441
gcc
« Odpověď #10 kdy: 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
Jabber: mistnost ubuntu na serveru chat.linjab.net Návod na připojení
Česká ubuwiki: wiki.ubuntu.cz/
Nejhorší IM  Nejlepší IM Vim rulez ;-) Návod

krokyn

  • Návštěvník
  • Příspěvků: 89
gcc
« Odpověď #11 kdy: 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í

Jakub Lucký

  • Závislák
  • ***
  • Příspěvků: 3433
    • Jakub Lucký
gcc
« Odpověď #12 kdy: 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
FAQ-Často kladené otázky   Návody(wiki)     
Jakub@Life:~$ Ubuntu změnilo váš život, přejete si změny uložit?(Y/N)?
Děkujeme, že nekrmíte trolly Blogísek  :wq

krokyn

  • Návštěvník
  • Příspěvků: 89
gcc
« Odpověď #13 kdy: 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?

Jakub Lucký

  • Závislák
  • ***
  • Příspěvků: 3433
    • Jakub Lucký
gcc
« Odpověď #14 kdy: 04 Května 2007, 21:18:15 »
Vyberte ten podle vašeho jádro

Jádro zjistíte příkazem
uname -r
FAQ-Často kladené otázky   Návody(wiki)     
Jakub@Life:~$ Ubuntu změnilo váš život, přejete si změny uložit?(Y/N)?
Děkujeme, že nekrmíte trolly Blogísek  :wq

 

Provoz zaštiťuje spolek OpenAlt.