anoniem Geplaatst: 2 maart 2003 Delen Geplaatst: 2 maart 2003 ik heb het bestand bla.c nou wil dat compile maar hoe doe ik dat met linux/gcc ik heb het al 100 keer gezien maar kan het nergsn meer terugvinden Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 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 Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 ik heb nou de exutabel maar als ik er op druk gebeurt er niks Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 ben newbie Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 k ik draaide een beetje door ;-) Maarreh je weet nu iig hoe je iets moet compilen! Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 dat is ook geluky er is een ebstand maar wat moet ik ermee hoe gaat ie dingen doen Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 wat staat er in bla.c ? Daar hangt vanaf wat hij doet als je "erop drukt" (i.e. de executable start). je kan eigen executables beter vanaf de commandoregel starten. Dan zie je wat er evt. voor uitvoer van komt. Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 en hoe doe ik dat een exutabel starten vanuit terminal (commando dan) en hoe zie je in linux of het een exutabel is Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 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 ;-) Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 [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 Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 nej iemand anders zijn brouwsel,jah ben er zo half mee begonnen maar hij heeft het zo tog goed gedaan en hij doet alleen weet ik niet wat er gebeurt :lol: :lol: Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 Kun je ff ietsie duidelijker zijn ^^;; Quote Link naar reactie
anoniem Geplaatst: 2 maart 2003 Auteur Delen Geplaatst: 2 maart 2003 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. Quote Link naar reactie
anoniem Geplaatst: 3 maart 2003 Auteur Delen Geplaatst: 3 maart 2003 jah beetje wazig maar ben er weer achter Quote Link naar reactie
anoniem Geplaatst: 3 maart 2003 Auteur Delen Geplaatst: 3 maart 2003 yeah right, maar wat moest je nou weten dan? Quote Link naar reactie
anoniem Geplaatst: 3 maart 2003 Auteur Delen Geplaatst: 3 maart 2003 nou hoe ik het op moest starte dat ik nou geluktik weet nou hoe ik moet compile ik weet nu alles dus wa ik wou weten dan Quote Link naar reactie
anoniem Geplaatst: 3 maart 2003 Auteur Delen Geplaatst: 3 maart 2003 [quote:6b200676f8="almar"]nou hoe ik het op moest starte dat ik nou geluktik weet nou hoe ik moet compile ik weet nu alles dus wa ik wou weten dan[/quote:6b200676f8] En nu nog een basiscursus nederlands, of een nieuw klavier. :wink: Quote Link naar reactie
anoniem Geplaatst: 3 maart 2003 Auteur Delen Geplaatst: 3 maart 2003 Dat is al eerder uitgelegd. Nog maar een keer dan. Compileer bla.c naar het programma bla door het volgende commando in te typen: gcc -o bla bla.c Nu heb je het programmabestand bla. Dat voer je uit met de volgende commando: ./bla Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen