/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
GCC - hello world, executable [linux newbi~
Fra : Tinky Winky


Dato : 30-08-02 15:17

Jeg har "lavet" (kopieret) et lille Hello World program i C. Jeg kan godt
compilere det, men ikke få lavet en eksekverbar fil - eller også kan jeg
bare ikke starte det.

Min source code ligger i filen: "HelloWorld.c"

Hvad skal jeg skrive i commandline for at compilere programmet og eksekvere
det? Skal jeg "stå" i et bestemt directory eller have specielle rettigheder
(være root?)?

Evt. link til en tutorial på compileren? At programmere er ikke det største
problem, men at få compileren til at virke. man gcc, får jeg ikke så meget
ud af, der er ingen eksempler, men masser af forklaringer på avancerede
funktioner.



 
 
Bjarke Freund-Hansen (30-08-2002)
Kommentar
Fra : Bjarke Freund-Hansen


Dato : 30-08-02 15:24

Tinky Winky wrote:

> Min source code ligger i filen: "HelloWorld.c"

> Hvad skal jeg skrive i commandline for at compilere programmet og eksekvere
> det? Skal jeg "stå" i et bestemt directory eller have specielle rettigheder
> (være root?)?

gcc HelloWorld.c
chmod +x a.out
../a.out

Hvad får du af fejl?

--
Greetings
Bjarke Freund-Hansen


Tinky Winky (30-08-2002)
Kommentar
Fra : Tinky Winky


Dato : 30-08-02 17:42

> > Hvad skal jeg skrive i commandline for at compilere programmet og
eksekvere
> > det? Skal jeg "stå" i et bestemt directory eller have specielle
rettigheder
> > (være root?)?
>
> gcc HelloWorld.c
> chmod +x a.out
> ./a.out
>
> Hvad får du af fejl?

Ingen fejl, det virker, tak.

Hvilke rettigheder ændrer chmod på?
Hvorfor skal man skrive ./ foran a.out?
Er a.out en "normal" eksekverbar fil som alle andre?



Kent Friis (30-08-2002)
Kommentar
Fra : Kent Friis


Dato : 30-08-02 17:44

Den Fri, 30 Aug 2002 18:42:27 +0200 skrev Tinky Winky:
>> > Hvad skal jeg skrive i commandline for at compilere programmet og
>eksekvere
>> > det? Skal jeg "stå" i et bestemt directory eller have specielle
>rettigheder
>> > (være root?)?
>>
>> gcc HelloWorld.c
>> chmod +x a.out
>> ./a.out
>>
>> Hvad får du af fejl?
>
>Ingen fejl, det virker, tak.
>
>Hvilke rettigheder ændrer chmod på?

Execute-rettigheder.

>Hvorfor skal man skrive ./ foran a.out?

For at fortælle hvor programmet ligger henne. Normalt kigger systemet
kun i /bin, /usr/bin, /usr/local/bin og måske $HOME/bin

>Er a.out en "normal" eksekverbar fil som alle andre?

Jeps.

Mvh
Kent
--
If I wanted a blue screen, I would type "xsetroot -solid blue"
- not D:\WINNT\SETUP

Niels Andersen (30-08-2002)
Kommentar
Fra : Niels Andersen


Dato : 30-08-02 19:24

Tinky Winky wrote in <ako79i$4k6$1@sunsite.dk>:
> Hvorfor skal man skrive ./ foran a.out?

Fordi det er en sikkerhedsrisiko, hvis systemet automatisk kigger i den
aktuelle mappe.

--
Mvh.

Niels Andersen
Linux 2.4.18 - Debian testing/unstable


Peter Bødskov (30-08-2002)
Kommentar
Fra : Peter Bødskov


Dato : 30-08-02 20:20


"Tinky Winky" <lksjdflkjzsdhflkajshrlkjaeshr@ksjdhskjdhfkshdfkshdf.com>
skrev i en meddelelse news:ako79i$4k6$1@sunsite.dk...
> > > Hvad skal jeg skrive i commandline for at compilere programmet og
> eksekvere
> > > det? Skal jeg "stå" i et bestemt directory eller have specielle
> rettigheder
> > > (være root?)?
> >
> > gcc HelloWorld.c
> > chmod +x a.out
> > ./a.out
>
> Hvilke rettigheder ændrer chmod på?
>
chmod kan ændre på både Read (r), Write (w) og Execute (x) rettigheder. I
det ovenstående eksempel er det, som Kent skriver, kun execute rettigheden
der ændres på.




Larz (30-08-2002)
Kommentar
Fra : Larz


Dato : 30-08-02 17:49

Bjarke Freund-Hansen wrote:
> gcc HelloWorld.c
> chmod +x a.out

chmod er ikke nødvendig...

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy
- A Free Half Life Manager!
To mail me remove your-pants.


Thorbjoern Ravn Ande~ (30-08-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 30-08-02 20:44

Bjarke Freund-Hansen <RoceKiller@impsoft.dk> writes:

> chmod +x a.out

Er den ikke det som standard?

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Larz (30-08-2002)
Kommentar
Fra : Larz


Dato : 30-08-02 21:14

Thorbjoern Ravn Andersen wrote:
>>chmod +x a.out
>
> Er den ikke det som standard?

Jo. Derfor min post ;)

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy
- A Free Half Life Manager!
To mail me remove your-pants.


Peter Dalgaard BSA (30-08-2002)
Kommentar
Fra : Peter Dalgaard BSA


Dato : 30-08-02 21:22

Larz <lp@your-pants.coder.dk> writes:

> Thorbjoern Ravn Andersen wrote:
> >>chmod +x a.out
> > Er den ikke det som standard?
>
> Jo. Derfor min post ;)

Måske medmindre man har umask 466 e.l.?

--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Larz (30-08-2002)
Kommentar
Fra : Larz


Dato : 30-08-02 21:53

Peter Dalgaard BSA wrote:
>>>>chmod +x a.out
>>>
>>>Er den ikke det som standard?
>>
>>Jo. Derfor min post ;)
>
> Måske medmindre man har umask 466 e.l.?

Nej, gcc laver en executable der har x

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy
- A Free Half Life Manager!
To mail me remove your-pants.


Larz (30-08-2002)
Kommentar
Fra : Larz


Dato : 30-08-02 17:49

Tinky Winky wrote:
> Jeg har "lavet" (kopieret) et lille Hello World program i C. Jeg kan godt
> compilere det, men ikke få lavet en eksekverbar fil - eller også kan jeg
> bare ikke starte det.
>
> Min source code ligger i filen: "HelloWorld.c"
>
> Hvad skal jeg skrive i commandline for at compilere programmet og eksekvere
> det? Skal jeg "stå" i et bestemt directory eller have specielle rettigheder
> (være root?)?

gcc -o HelloWorld HelloWorld.c
../HelloWorld

> Evt. link til en tutorial på compileren? At programmere er ikke det største
> problem, men at få compileren til at virke. man gcc, får jeg ikke så meget
> ud af, der er ingen eksempler, men masser af forklaringer på avancerede
> funktioner.

http://www.cprogramming.com/
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/

Følg evt. <news:alt.comp.lang.learn.c-c++>

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy
- A Free Half Life Manager!
To mail me remove your-pants.


Tinky Winky (30-08-2002)
Kommentar
Fra : Tinky Winky


Dato : 30-08-02 20:31

> Jeg har "lavet" (kopieret) et lille Hello World program i C. Jeg kan godt
[...]

Tak for alle Jeres svar.



Thorbjoern Ravn Ande~ (30-08-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 30-08-02 20:43

"Tinky Winky" <lksjdflkjzsdhflkajshrlkjaeshr@ksjdhskjdhfkshdfkshdf.com> writes:

> Hvad skal jeg skrive i commandline for at compilere programmet og eksekvere
> det? Skal jeg "stå" i et bestemt directory eller have specielle rettigheder
> (være root?)?

Som en genvej hvis du har "make" installeret, kan du få den til at
kalde gcc for dig.

"make HelloWorld"

Efter gcc er kaldt kan du køre den med "./HelloWorld". Make er et
kraftfuldt værktøj som gør det let at automatisere oversættelsen når
du får flere filer at rode med i dit program.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste