Archief - Compilers (noobquestion)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Wid@ker

Legacy Member
Deze vraag is wrs al is gesteld, maar kheb gezocht en niks gevonden.

Kzou graag C++ leren, en van wat ik begrepen heb, zijn er verschillende compilers. Is het eender welke compiler je gebruikt, of moet je voor bv. games te maken een bepaalde compiler gebruiken?

Alvast bedankt :)

Tyfius

Legacy Member
De compiler doet er niet veel toe.

aanrader is dev-cpp. Een zeer veelzijdige gratis compiler met een ingebouwde editor die imo MS-VS (betalend) het dichtst benaderd.

Da Turtle

Legacy Member
De compiler is in principe al gelijk, zeker om te beginnen zal da wel allemaal 't zelfste zijn. Als een compiler nog geen console dingen ondersteunt ist wel echt brol :)
en Dev C++ is idd wel goed, ik gebruikte da ook int begin :)

Grayfox

Legacy Member
compiler doet er wel veel toe! teneerste levert MS-VSc++ de snelste code, en ten tweede, veel workspaces en opensource projecten worden dus met MSVS gemaakt, wat betekent dat je het dan ook heel makkelijk kan openen met MSVS, anders moet je dat allemaal zelf in elkaar steken als je een andere compiler/IDE gebruikt, en kdenk dat zoiets zelf voor geavanceerde gebruikers heel moeilijk is
(probeer maar eens hl.dll en mp.dll workspaces te compilen met een andere compiler dan MSVS)

maar Microsoft heeft nu gratis de commandline compiler versie vrijgegeven, dan heb je alleen nog een goeie IDE nodig

Mja, om te leren ga je dus niveel keus hebben en ga je op een of andere manier aan een gratis compiler moeten raken ;)

Wid@ker

Legacy Member
Thx voor de replies, kzal da is vlug downe ^^

EDIT: volgens mij gaat er iets mis.

Kheb Dev-C++ version 4.9.9.0 geïnstalleerd, alles ging goed, tot ik mijn eerste program wou testen.

Code:
//my first program in C++

#include <iostream.h>

int main ()
{
    cout << " This is my first C++ program!!!! ";
    return 0;
}

Dat heb ik dus gecompiled, maar als ik de .exe open, komt er heel even iets op mijn scherm (hetgeen dat erop zou moete komen denk ik), maar na een fractie van een seconde verdwijnt dat weer :/

:help:

tremor

Legacy Member
wa der gebreurt is: het programma start, toont die tekst in een kaderke, en sluit da kaderke
wa ge nodig hebt is user input of het system("PAUSE"); commando

uw code is trouwens nie zo schitterend :-)
ge zegt dat het een C++ programma is, ma ge include een C header

in C++ zou dit het volgende worden:
Code:
#include <iostream> //zonder .h, da is de c++ header
using namespace std; //gebruik de namespace std
//dit zorgt ervoor dat ge het commando cout kunt gebruiken ipv std::cout
//(zelfde geld voor cin, endl, ...)

int main () {
   cout << "Hallo" << endl;
   cin.get(); //wacht op invoer van de gebruiker
   return 0;
}

of zoals fretn zegt, een dos vensterke openen, en daar het programma uitvoeren

Wid@ker

Legacy Member
tremor zei:
wa der gebreurt is: het programma start, toont die tekst in een kaderke, en sluit da kaderke
wa ge nodig hebt is user input of het system("PAUSE"); commando

uw code is trouwens nie zo schitterend :-)
ge zegt dat het een C++ programma is, ma ge include een C header

in C++ zou dit het volgende worden:
Code:
#include <iostream> //zonder .h, da is de c++ header
using namespace std; //gebruik de namespace std
//dit zorgt ervoor dat ge het commando cout kunt gebruiken ipv std::cout
//(zelfde geld voor cin, endl, ...)

int main () {
   cout << "Hallo" << endl;
   cin.get(); //wacht op invoer van de gebruiker
   return 0;
}

of zoals fretn zegt, een dos vensterke openen, en daar het programma uitvoeren
K, thx, nu werkt het (khad de code hier gehaald: http://www.cplusplus.com/doc/tutorial/tut1-1.html

Kneem dus aan dat dat geen goede tutorial is?

Tyfius

Legacy Member
bwa jawel, maar als ge echt C++ wil gaan doen, koop u een goed boek. Want die tutorial laat eigelijk niks zien van de kracht van C++.

Wid@ker

Legacy Member
Tyfius zei:
bwa jawel, maar als ge echt C++ wil gaan doen, koop u een goed boek. Want die tutorial laat eigelijk niks zien van de kracht van C++.
Suggesties voor een boek?

En ik ken voor de rest wel nog niks van programmeertalen (basis van xhtml :p)
Kan da kwaad?

tremor

Legacy Member
http://members.chello.nl/~s.pampiermole/C++/lswmc/lswmc.html
--> nederlandstalige tutorials, redelijk goed uitgelegd

http://www.fredosaurus.com/notes-cpp/
--> geen echte tutorial, ma een overzicht van C++ functies en mogelijkheden van C++, imo een redelijk goeie site

http://www.glenmccl.com/tutor.htm
--> ook redelijk goeie tutorials, en deze site gaat ook dieper in op de voordelen die C++ heeft ten opzichte van C


een boek is niks mis mee, ma persoonlijk vind ik leren aan de hand van voorbeelden veel handiger, bekijk eerst online wa naar kleine voorbeeldjes, en ga dan grotere voorbeelden proberen te begrijpen en namaken

Wid@ker

Legacy Member
tremor zei:
http://members.chello.nl/~s.pampiermole/C++/lswmc/lswmc.html
--> nederlandstalige tutorials, redelijk goed uitgelegd

http://www.fredosaurus.com/notes-cpp/
--> geen echte tutorial, ma een overzicht van C++ functies en mogelijkheden van C++, imo een redelijk goeie site

http://www.glenmccl.com/tutor.htm
--> ook redelijk goeie tutorials, en deze site gaat ook dieper in op de voordelen die C++ heeft ten opzichte van C


een boek is niks mis mee, ma persoonlijk vind ik leren aan de hand van voorbeelden veel handiger, bekijk eerst online wa naar kleine voorbeeldjes, en ga dan grotere voorbeelden proberen te begrijpen en namaken
Thx kzal die is bekijken

Kzie voorlopig wel door de bomen het bos niet meer :/

Myciloyh

Legacy Member
persoonlijk vind ik het Grand Cru boek van C++ niet slecht ..
Allez, ik heb het daarmee geleerd..

greetzz

Wid@ker

Legacy Member
tremor zei:
http://members.chello.nl/~s.pampiermole/C++/lswmc/lswmc.html
--> nederlandstalige tutorials, redelijk goed uitgelegd

http://www.fredosaurus.com/notes-cpp/
--> geen echte tutorial, ma een overzicht van C++ functies en mogelijkheden van C++, imo een redelijk goeie site

http://www.glenmccl.com/tutor.htm
--> ook redelijk goeie tutorials, en deze site gaat ook dieper in op de voordelen die C++ heeft ten opzichte van C


een boek is niks mis mee, ma persoonlijk vind ik leren aan de hand van voorbeelden veel handiger, bekijk eerst online wa naar kleine voorbeeldjes, en ga dan grotere voorbeelden proberen te begrijpen en namaken
Kwil nu ni zagen he, maar dat eerste voorbeeld (van hello world) is weer zoiets me iostream.h en je zei dat dat een C header is. Het werkt dus weer niet. Kheb die .h weggehaald, maar het werkt nog niet. Klopt die tutorial dan wel?

Da Turtle

Legacy Member
eigenlijk als je maar dat wilt doen doet et er niet toe welke header je zet, het is alleen een kwestie van C naar C++. Voor die programmatjes die je nu maakt is het geen verschil als je nu <iostream> of <iostream.h> zet. Die compiler ziet et toch hetzelfde denk ik, alhoewel dat ik eigenlijk het verschil niet weet. Buiten dat de .h weggelaten wordt in C++.
C++ is een uitgebreide versie van C. De programmatjes die je nu aan het schrijven bent zijn gewoon C code, die in C++ hetzelfde is.

Als het probleem is da uw venstertje opent en weer weg gaat zet just voor de return 0; een system("pause");.

Die system functie geeft je de mogelijkheid om dos bewerkingen te doen. Doe maar eens start/uitvoeren en dan cmd, voor u dos console, en typ "pause".

tremor

Legacy Member
Da Turtle zei:
... alhoewel dat ik eigenlijk het verschil niet weet. Buiten dat de .h weggelaten wordt in C++.
...

in de C header worden de functies gewoon gedeclareerd, in de C++ header worden ze in een namespace gedeclareerd, da komt der op neer dat

<iostream> (de c++ header) gaat de functies std::cout, std::endl, ... definieren
<iostream.h> (de c header) gaat de functies cout en endl declareren

in een C++ programma moet ge dus uw functies met hun namespace voluit schrijven, of zeggen da ge gebruik maakt van een bepaalde namespace
std::cout << "Hallo" << endl;
of
using namespace std;
cout << "Hallo" << endl;
(namespaces gaan alleen werken met <iostream>)

om het nog eens duidelijk te maken

C:
Code:
#include <stdio.h>
int main () {
   printf("Hallo");
   return 0;
}

C en C++ gemengd:
Code:
#include <iostream.h>
int main () {
   cout << "Hallo" << endl;
   cin.get();
   return 0;
}

C++:
Code:
#include <iostream>
using namespace std;
int main () {
   cout << "Hallo" << endl;
   cin.get();
   return 0;
}

of
Code:
#include <iostream>
int main () {
   std::cout << "Hallo" << std::endl;
   std::cin.get();
   return 0;
}

alle 4 de methodes gaan werken
het is dus nie zozeer foutieve code, want da is het helemaal nie

de code kan door elkaar gebruikt worden, maar aangezien ge aan het leren coden zijt, moet ge u da onmiddelijk tegoei aanleren :-)

en waar nu heel deze zever uiteindelijk voor diende:
welke code moet ik nu gebruiken? -->
de 3e methode wordt het meeste gebruikt voor C++ applicaties

Wid@ker

Legacy Member
Thx Tremor (en de rest ook natuurlijk), het begint allemaal een beetje duidelijk te worden :) (denk ik :p)

Da Turtle

Legacy Member
Grayfox zei:
compiler doet er wel veel toe!
Kbedoel dat voor die beginprogjes van de tutorials zoals "hello world" enal de compiler er niet toe doet.

ducky hutty

Legacy Member
Nu jullie toch bezig zijn, kan je dit ook even snel verduidelijken (kga hier geen aparte topic voor aanmaken)

Wat is het verschil tussen declareren en definieren?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan