Sida 1 av 1

g++ ?

Postat: 21 dec 2008, 17:37
av Lulle
Hej!
Jag har gjort ett litet C++ program i geany.
Men hur kör jag programmet med g++ ?

Räcker det att skriva g++ hejsan.cpp i terminalen?

Re: g++ ?

Postat: 21 dec 2008, 17:41
av Lars
Kommandot "g++ hejsan.cpp" skapar en körbar fil med namnet a.out (av historiska skäl). Normalt kör man "g++ hejsan.cpp -o hejsan" istället för att få en fil som heter hejsan. Kör "./hejsan" för att starta programmet.

Re: g++ ?

Postat: 21 dec 2008, 18:05
av Lulle
Lars skrev:Kommandot "g++ hejsan.cpp" skapar en körbar fil med namnet a.out (av historiska skäl). Normalt kör man "g++ hejsan.cpp -o hejsan" istället för att få en fil som heter hejsan. Kör "./hejsan" för att starta programmet.


öö va?
så om man skriver "g++ hejsan.cpp -o hejsan" så körs programmet?

Om man skriver g++ hejsan.cpp så blir det en fil.
Och då lär man skriva ./hejsan för att köra den filen?

Re: g++ ?

Postat: 21 dec 2008, 18:25
av micke_nordin
Lulle skrev: öö va?
så om man skriver "g++ hejsan.cpp -o hejsan" så körs programmet?
Nej, då skapas en exekverbar fil som heter "hejsan". För att köra den filen måste du använda ./hejsan
Lulle skrev: Om man skriver g++ hejsan.cpp så blir det en fil.
Ja, då skapas en exekverbarfil som heter "a.out".
Lulle skrev: Och då lär man skriva ./hejsan för att köra den filen?
Nej, för att köra den filen måste du använda ./a.out

Om du vill göra det enkelt för dig, klickar du på "kör"-knappen i geany, först måste du dock kompilera vilket du kan göra genom att gå på "kompilera" i bygg-menyn i geany (ev. måste du också bygga först).
/Micke

Re: g++ ?

Postat: 21 dec 2008, 18:30
av Lulle
micke_nordin skrev:
Lulle skrev: öö va?
så om man skriver "g++ hejsan.cpp -o hejsan" så körs programmet?
Nej, då skapas en exekverbar fil som heter "hejsan". För att köra den filen måste du använda ./hejsan
Lulle skrev: Om man skriver g++ hejsan.cpp så blir det en fil.
Ja, då skapas en exekverbarfil som heter "a.out".
Lulle skrev: Och då lär man skriva ./hejsan för att köra den filen?
Nej, för att köra den filen måste du använda ./a.out

Om du vill göra det enkelt för dig, klickar du på "kör"-knappen i geany, först måste du dock kompilera vilket du kan göra genom att gå på "kompilera" i bygg-menyn i geany (ev. måste du också bygga först).
/Micke

Okej, med andra ord:
Så kan jag köra programmet i geany.

Om jag vill skicka programmet till någon så skriver jag:
"g++ hejsan.cpp -o hejsan" i terminalen så kan jag skicka den körabara filen a.out.

Re: g++ ?

Postat: 21 dec 2008, 18:32
av Emil.s
Lulle skrev:
micke_nordin skrev:
Lulle skrev: öö va?
så om man skriver "g++ hejsan.cpp -o hejsan" så körs programmet?
Nej, då skapas en exekverbar fil som heter "hejsan". För att köra den filen måste du använda ./hejsan
Lulle skrev: Om man skriver g++ hejsan.cpp så blir det en fil.
Ja, då skapas en exekverbarfil som heter "a.out".
Lulle skrev: Och då lär man skriva ./hejsan för att köra den filen?
Nej, för att köra den filen måste du använda ./a.out

Om du vill göra det enkelt för dig, klickar du på "kör"-knappen i geany, först måste du dock kompilera vilket du kan göra genom att gå på "kompilera" i bygg-menyn i geany (ev. måste du också bygga först).
/Micke

Okej, med andra ord:
Så kan jag köra programmet i geany.

Om jag vill skicka programmet till någon så skriver jag:
"g++ hejsan.cpp -o hejsan" i terminalen så kan jag skicka den körabara filen a.out.
Nej, då skickar du den körbara filen "hejsan".

Re: g++ ?

Postat: 21 dec 2008, 18:35
av Osprey
Lulle skrev:Om jag vill skicka programmet till någon så skriver jag:
"g++ hejsan.cpp -o hejsan" i terminalen så kan jag skicka den körabara filen a.out.
Nej, med "-o hejsan" så anger du att "output=hejsan" och då kommer det körbara programmet att heta "hejsan", om du däremot inte anger något om vad resultatet ska heta med "-o", så kallas det som standard för "a.out"...

Re: g++ ?

Postat: 21 dec 2008, 18:44
av Konservburk
Eller också kompilerar man med make hejsan istället så behöver man inte fundera över vad den körbara filen ska heta :P

Re: g++ ?

Postat: 21 dec 2008, 18:54
av Lulle
Tackar :)
Min C++ kurs börjar inte förens i februari.
Men jag har böckerna samt föreläsningarna på skiva här hemma.

Så jag tänkte smyg starta imorgon.
Är så sugen på det, + att 2 veckor kan inte vara så enormt bra att lära sig C++ grunderna på.
Jag vill inte stressa utom jag vill ta det lugnt när jag går igenom grunderna.
Men pluggar man på distans så gör man, hehe.

Re: g++ ?

Postat: 21 dec 2008, 20:01
av Osprey
Konservburk skrev:Eller också kompilerar man med make hejsan istället så behöver man inte fundera över vad den körbara filen ska heta :P
Snyggt!! Den kände jag inte till innan, klart användbar... :D

Re: g++ ?

Postat: 21 dec 2008, 20:19
av Lulle
Osprey skrev:
Konservburk skrev:Eller också kompilerar man med make hejsan istället så behöver man inte fundera över vad den körbara filen ska heta :P
Snyggt!! Den kände jag inte till innan, klart användbar... :D

hur skriver man det då?
g++ hejsan.cpp make hejsan

eller?

Re: g++ ?

Postat: 21 dec 2008, 20:22
av Osprey
Nu testade jag det bara genom att skapa en vanlig c-fil som hette "foo.c" och sedan skrev jag "make foo" vilket automatiskt resulterade i "cc -o foo foo.c", inte så märkvärdigt men väldigt trevligt... :)

Re: g++ ?

Postat: 21 dec 2008, 20:54
av Konservburk
Lulle skrev:hur skriver man det då?
g++ hejsan.cpp make hejsan

eller?
I katalogen där du har filen hejsan.cpp så skriver du bara make hejsan.

Kod: Markera allt

$ echo 'main(){}'>dummy.cpp
$ make dummy    
g++     dummy.cpp   -o dummy
Vill du göra det ännu enklare så kan du skapa en liten Makefile:

Kod: Markera allt

$ rm -f dummy
$ echo all: dummy >Makefile
$ make
g++     dummy.cpp   -o dummy
Sedan räcker det att köra bara make för att kompilera :)