|
| 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
| |
|
|