Ga naar inhoud
  • 0

gcc


anoniem

Vraag

17 antwoorden op deze vraag

Aanbevolen berichten

  • 0
Even beyond, het compiler proces bestaat uit preprocessen (alles wat begint met een #), compileren, linken en assembleren. Meeste van deze stappen zijn gewoon samengevat in een enkel commando. Ik heb hieronder wat veel gebruikte linux/gcc zaken gezet: De basis syntax van gcc, een enkel .c bestand maken (van preprocessor tot executable) gcc -o bla bla.c 'bla' wordt dan de executable Meerdere .c files assemblen tot 1 executable: gcc -o bla bla.c main.c test.c Elk bestand apart compilen, daarna alles linken en assemblen: gcc -c bla.o bla.c gcc -c main.o main.c gcc -c test.o test.c gcc -o bla bla.o main.o test.o Shared system library's meelinken (.so bestanden) gcc -o bla bla.c -lcone In dit geval wordt bla gemaakt en het bestand 'libcone.so' wordt dynamisch meegelinked (vergelijkbaar met windows' DLL bestanden) Zelf een shared object ( =.so) bakken doe je met: gcc -shared -o libbla.so bla.c Je kunt um daarna weer meelinken met: gcc -o bla2 bla2.c -lbla -L. Enkele belangrijke switches: -l - linked een dynamic library mee, .so bestanden beginnen ALTIJD met lib en eindigen op .so, dus bijv. libbla.so -L - geeft een path op waar een library zich bevind, bijv -L/usr/lib/qt3 -I - geeft een path op waar include files staan, bijv -I/usr/include -rdynamic -ldl - geven de mogelijkheid handmatig in je applicatie met .so bestanden te werken, hiervoor moet je echter wel aardige skillz hebben, meer info zie man dlopen De shell variabel LD_LIBRARY_PATH wijst naar path voor .so bestand afwijkend van de opgeven in /etc/ld.so.conf, zodoende kun je eigen path opgeven naar je eigen shared library's bijv. 'export LD_LIBRARY_PATH=/home/ik/mijnlibs' Dit wordt alleen gebruikt tijdens de uitvoering van je app, niet tijden het compilen. voor meer on gcc zie 'man gcc' Have phun, Barry
Link naar reactie
  • 0
stel je start de console (bijv konsole onder kde ofzo) doe je een 'cd' naar de dir. waar je progsel staat. zoiets: $ cd /home/ik/mijn-progsels/ $ ls bla.c $ $ gcc -o bla bla.c $ ls bla bla.c $ $ ./bla (bla doet iets) $ (gcc maakt bla na het compilen automatisch executable) je kunt het programma 'mc' (mits geinstalleerd) gebruiken om makkelijk te bladeren door je home-dir Voor programmeren moet je nooit een gewone filemanager zoals kfm,konqueror,galeon gebruiken. Om iets anders zogeheten 'execute rechten' te geven doe je: $ chmod +x ./bla Meestal krijgen executable met het command 'ls' een apart kleurtje -- leuk ;-)
Link naar reactie
  • 0
[quote:82e01ced02="almar"]dat is ook geluky er is een ebstand maar wat moet ik ermee hoe gaat ie dingen doen[/quote:82e01ced02] Nog ff, als je een .c bestand compiled moet er natuurlijk programmeertaal in staan :roll: Je kunt toch programmeren neem ik aan? anders moet je niet aan GCC beginnen want dat is louter een compiler voor c,c++,java etc Als je een anders z'n progsel wilt compileren moet je niet direct gcc gebruiken maar de compiler tools in dat paket Zo wel, Even een voorbeeldje: [code:1:82e01ced02] /* dit is bla.c */ #include <stdio.h> main() { printf("Bla!"); return; } [/code:1:82e01ced02] Je start bijv een console: $ echo $PWD Huidige dir is /home/ik $ mkdir mijn_progsels $ ls (...) mijn_progsels (...) $ cd mijn_progsels $ mcedit bla.c (start de editor van mc, maak je code en sla op!) $ ls bla.c afin, de rest dus
Link naar reactie
  • 0
Als het een commandline programma is, natuurlijk gebeurt er "niks" als je erop dubbelklikt. Het programma heeft immers geen grafische interface. Dat soort programma's moet je via de commandline uitvoeren, zoals eerder werd uitgelegd. Hoe je dat programma moet gebruiken hangt helemaal van het programma af.
Link naar reactie

Doe mee aan dit gesprek

Om te reageren, moet je eerst inloggen. Dit doe je door rechtsboven op inloggen te klikken.

Gast
Antwoord op deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...