Portál AbcLinuxu, 12. května 2025 06:46

Dotaz: kompilace programu v C

22.6.2006 17:36 kibo | skóre: 17 | blog: Fedora Core 4 | Znojmo
kompilace programu v C
Přečteno: 900×
Odpovědět | Admin

Muzete me prosim trochu nasmerovat jak zkompilovat vlastni programek v C v Linuxu?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.6.2006 17:40 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: kompilace programu v C
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejčastěji se používá sestavovací program make, který používá postup zapsaný v Makefile.

Jako překladač se používá gcc.
When your hammer is C++, everything begins to look like a thumb.
22.6.2006 17:43 sewi | skóre: 21 | blog: Bunker Hill | Prostějov
Rozbalit Rozbalit vše Re: kompilace programu v C
Odpovědět | | Sbalit | Link | Blokovat | Admin

pokud je to jeden soubor tak asi takto:

gcc -o ./vysledek ./zdrojak.c

And they thought they were free
22.6.2006 17:54 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: kompilace programu v C
Jde to i bez toho ./, tedy gcc -o vysledek zdrojak.c

Pokud chceš, aby se ti vypisovaly i warningy při překladu, tak gcc -Wall -o vysledek zdrojak.c
Quando omni flunkus moritati
22.6.2006 19:32 kibo | skóre: 17 | blog: Fedora Core 4 | Znojmo
Rozbalit Rozbalit vše kompilace programu v C

Diky vsem, uz mi to kompiluje.

7.6.2007 15:12 jirka
Rozbalit Rozbalit vše Re: kompilace programu v C
ale mně ne, haze to:
No new line at end of file tady sem si precetl
http://www.linuxquestions.org/questions/showthread.php?t=281830
ze je treba pridat nakonec enter, nezajem haze ten warning dal. sice to buildne ale dany program nejde spustit. co dal ?

kod:
#include stdio.h>//tenhle server mi nepovoli spicate zavorky, tady chyba neni

int main(){
	printf("Hello\n");
	getchar();
	return 0;
};
7.6.2007 15:58 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
Rozbalit Rozbalit vše Re: kompilace programu v C
Server vkládání špičatých závorek umožňuje, tady opravdu chyba není :)

Proč máš za poslední závorkou programu středník?
Užívej dne – možná je tvůj poslední.
7.6.2007 22:16 jirka
Rozbalit Rozbalit vše Re: kompilace programu v C
ten strednik neni prece problem, fce muze a nemusi koncit strednikem....

ale i tak sem ho zkusil odstranit kdyby na linuxu to bylo naky specifik a ee porad ten samej warning
7.6.2007 16:03 Jiří J. | skóre: 34 | blog: Poutník | Brno
Rozbalit Rozbalit vše Re: kompilace programu v C
povolí, <>
Akorát mi tu nejdou regexpy, abych odescapoval způsob, jakým to tvořím :-D
...jinak viz. escape sequences v HTML
7.6.2007 22:41 Ash | skóre: 53
Rozbalit Rozbalit vše Re: kompilace programu v C
Teda nevím k čemu by byly potřeba regexpy, od toho jsou ty escape sequences - &lt; je < a &gt; je > vytvořeno jakožto &amp;lt; a &lt; resp. &amp;gt; a &gt;.
7.6.2007 22:44 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: kompilace programu v C
Nějak nechápu kde je problém funguje to OK.
[petr@soban ~]$ cat pokus1.c
#include <stdio.h>//tenhle server mi nepovoli spicate zavorky, tady chyba neni

int main(){
        printf("Hello\n");
        getchar();
        return 0;
};
[petr@soban ~]$ gcc -o start pokus1.c
[petr@soban ~]$ ./start
Hello
 
[petr@soban ~]$ 
takže bych typnul že ten soubor byl vytvořen v nějakém blbém editoru který dává na konce řádků windowsovské ukončení a né ukončení pouze znakem 0x0A.

Takže si nějakým hexeditorem skontrolujte zda na konci řádku je pouze znak 0x0A.
7.6.2007 22:48 Ash | skóre: 53
Rozbalit Rozbalit vše Re: kompilace programu v C
Nejrychleji asi
alias hd='od -Ax -tx1z -v'
hd soubor.cpp
7.6.2007 23:22 jirka
Rozbalit Rozbalit vše Re: kompilace programu v C
velmi zajimave zkusil sem to spustit pres bash a slape to, ale kdyz dam v prohlizeci souboru pravy tlacitko a spustit (popr dvojklik) tak se nic nezobrazi
8.6.2007 00:13 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: kompilace programu v C
A kam by se to mělo zobrazit když nemáš terminál - printf vypisuje do textového terminálu - čili jsi to poslal do /dev/null.

Případně tomu klikátku musíš říct že ten program má spustit v konzoli.

Hello World! GUI

Jinak různé příklady Hello World!
8.6.2007 11:15 jirka
Rozbalit Rozbalit vše Re: kompilace programu v C
A kam by se to mělo zobrazit když nemáš terminál - printf vypisuje do textového terminálu prominte myslel sem ze je to jako ve windows ze se terminal spusti sam



jde to udelat aby se mi pokazdy pri spusteni toho programu zapnul i terminal ?


ps: sorry za blby dotazy ale mam linux tyden, kdyby nekde byla na netu knizka cetl
bych od rana do vecera, ale na netu, ne v krame za 1100kc :-/
8.6.2007 11:24 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: kompilace programu v C
  xterm -hold -e příkaz
  konsole --noclose -e příkaz
8.6.2007 12:29 jirka
Rozbalit Rozbalit vše Re: kompilace programu v C
moc to nechapu, tohle mam napsat jako parametr pri spousteni meho programu? a co znamena prikaz?
8.6.2007 12:47 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: kompilace programu v C

Příkaz je prostě nějaký příkaz, který chcete spustit v terminálu. Zkuste si např.

  xterm -hold -e ls -l
  konsole --noclose -e ls -l
8.6.2007 16:15 jirka
Rozbalit Rozbalit vše Re: kompilace programu v C
diky fakt moc. vyreseno
8.6.2007 16:30 depka
Rozbalit Rozbalit vše Re: kompilace programu v C
ale na netu je k dispozici legalne knizka! Linux Dokumentační projekt stahnout muzes treba: http://knihy.cpress.cz/Pocitac/BookDoc.asp?DocID=0&BookID=675&DownloadSection=2
7.6.2007 22:45 Ash | skóre: 53
Rozbalit Rozbalit vše Re: kompilace programu v C
Jak jako že nejde spustit? ./program udělá co?
28.5.2007 23:36 Hovadko
Rozbalit Rozbalit vše Re: kompilace programu v C
A jak by to vypadalo, kdyby tam bylo těch souborů *.cpp víc? A co kdyby byly ještě vlastní hlavničkové soubory *.h - všechno v jednom adresáři :-D.
29.5.2007 08:39 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše co ja viem? ze by:
gcc -o vystup *.cpp
29.5.2007 11:42 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: co ja viem? ze by:

Tohle nefunguje. Je-li to opravdu C++, je potřeba použít buď

  g++ -o vystup *.cpp

nebo

  gcc -o vystup *.cpp -lstdc++

Případně pokud nechcete závislost na libstdc++ a skutečně nepoužíváte nic z této knihovny

  gcc -o vystup *.cpp -lsupc++

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.