quote:Op maandag 12 maart 2012 18:24 schreef Computerfluisteraar het volgende:
[..]
Is dit de beste IDE of zijn er nog meer die geschikt zijn?
quote:Op maandag 12 maart 2012 18:56 schreef FastFox91 het volgende:
[..]
Qt is niet alleen een IDE, maar ook een UI cross-platform framework. http://qt.nokia.com/products/
quote:Op maandag 12 maart 2012 18:22 schreef thabit het volgende:
[..]
Die parameters worden direct aan main() gevoerd. Ik zie niet waarom je allerlei vage libraries daarvoor nodig zou hebben.
1 2 3 4 5 6 7 8 9 10 | while( ( opt = getopt( argc, argv, "f:s" ) ) != -1 ) { switch( opt ) { case f': // input file // iets break; case 's': // iets break; } } |
Als je 's' naar "scan" verandert, krijg je hier een compileerfout omdat opt (in de switch) een character is. Ik denk dat je het beste getopt_long (de eerste google-hit...) kunt gebruiken.quote:Op maandag 12 maart 2012 19:01 schreef FastFox91 het volgende:
[..]
[ code verwijderd ]
Wat moet ik dan aanpassen zodat ik niet meer -s moet doen maar -scan? In dat 'case' stukje is het gewoon s -> scan, maar hoe pas ik het aan in de getopt functie?
Dat snap ik, en die getopt_long had ik ook gevonden, maar thabit zegt dat het niet nodig is om andere libraries te gebruiken.quote:Op dinsdag 13 maart 2012 15:47 schreef GS42 het volgende:
[..]
Als je 's' naar "scan" verandert, krijg je hier een compileerfout omdat opt (in de switch) een character is. Ik denk dat je het beste getopt_long (de eerste google-hit...) kunt gebruiken.
Iets als getopt heb je niet echt nodig. Het lijkt er vooral op dat dat gemaakt is om een soort standaard voor command line opties te definiëren. Maar je kan net zo makkelijk, zo niet makkelijker, met de hand de opties parsen.quote:Op maandag 12 maart 2012 19:01 schreef FastFox91 het volgende:
[..]
[ code verwijderd ]
Wat moet ik dan aanpassen zodat ik niet meer -s moet doen maar -scan? In dat 'case' stukje is het gewoon s -> scan, maar hoe pas ik het aan in de getopt functie?
Of bedoel je dat ik sowieso geen getopt moet gebruiken?
Oh, daar had ik nog helemaal niet aan gedacht. Nee, MinGW zal de threads nog wel niet ondersteunen omdat dit een hele nieuwe aanpak van de compiler vereist. MinGW heeft altijd geprobeerd standaard C(++) te ondersteunen, maar heeft altijd gezegd POSIX-dingen (zoals file system en threads) te laten voor wat het is en dus niet te ondersteunen.quote:Op vrijdag 9 maart 2012 10:05 schreef netolk het volgende:
Klopt het dat std::thread nog niet werkt voor g++ onder windows?
Het is niet nodig, nee. Zoals je waarschijnlijk weet, kan je de command-line argumenten lezen via de eerste en tweede parameter van de main(). Maar dat betekent dat je ze wel zelf moet parsen. Dit is niet heel veel werk, maar ook werk dat je prima uit handen kunt geven. Gewoon doen wat je zelf het gemakkelijkste vindt werken, zou ik zeggen.quote:Op dinsdag 13 maart 2012 15:51 schreef FastFox91 het volgende:
[..]
Dat snap ik, en die getopt_long had ik ook gevonden, maar thabit zegt dat het niet nodig is om andere libraries te gebruiken.
Ik ben begonnen met een flinke cursus van een half jaar lang, zeker 8 uur per week. Daarvoor had ik met andere programmeer- en scripttalen gewerkt. C++ is aan de ene kant een goede taal om mee te beginnen omdat het een redelijk consistente en bekende taal is, maar aan de andere kant ook een lastige, vooral omdat het zo groot is.quote:Op vrijdag 9 maart 2012 08:21 schreef Computerfluisteraar het volgende:
Een vraagje aan de mensen met verstand van C++:
Ik wil leren ontwikkelen in C++. Hoe zijn jullie begonnen? En kan ik C++ applicaties werkende krijgen op Linux én Windows?
De code die je post, geeft bij mij andere compileerfouten. Zou je een minimaal voorbeeld kunnen geven - met een main() - die jouw compileerfout geeft?quote:Op vrijdag 9 maart 2012 08:13 schreef netolk het volgende:
[..]
maar dit stukje code blijft wel een error geven:
[ code verwijderd ]
dan geeft ie dus de volgende error:
[ code verwijderd ]
1 | int() = 23; |
Dat bleek het idd te zijn, na veel zoeken (en in back-ups kijken) bleek dat er inderdaad ergens een & was verdwenen...quote:Op dinsdag 13 maart 2012 16:43 schreef GS42 het volgende:
[..]
De code die je post, geeft bij mij andere compileerfouten. Zou je een minimaal voorbeeld kunnen geven - met een main() - die jouw compileerfout geeft?
De foutmelding impliceert dat je een verkeerde toekenning doet, zoals
[ code verwijderd ]
Hierbij ken je een waarde toe aan een anonieme variabele (wat natuurlijk niet kan).
1 2 | error: new declaration 'long unsigned int Threader_Key(void*)' error: ambiguates old declaration 'long unsigned int Threader_Key(void*)' |
'long' is een verkorte vorm van 'long int', net zoals 'short' een korte naam is voor 'short int'. Ze zijn dus hetzelfde. Ook de volgorde van de signed/unsigned of eventuele cv-qualifiers heeft veel vrijheid. Zo mag het volgende:quote:Op woensdag 14 maart 2012 14:50 schreef Ai_KaRaMBa het volgende:
Ik ben het wel met de compiler eens: ik vind 'long unsigned int' ook een raar datatype. Waarom kies je niet voor int of long (al dan niet unsigned)?
Volgens mij is "long int" echt al heul lang depricated?
(edit: los daarvan heb ik geen idee of dat ook daadwerkelijk jouw compileer probleem is)
edit2: Volgens http://en.wikipedia.org/wiki/C_data_types is het "unsigned long int" en niet "long unsigned int"
1 | long int signed volatile long const x = 0; |
a) Ik weet niet precies wat volatile doet, maar ik zou zeggen dat je een constante integer hebt die zowel positief als negatief kan zijn (signed) en de grootte van long long heeft (en als waarde 0)quote:Op woensdag 14 maart 2012 16:03 schreef GS42 het volgende:
[..]
'long' is een verkorte vorm van 'long int', net zoals 'short' een korte naam is voor 'short int'. Ze zijn dus hetzelfde. Ook de volgorde van de signed/unsigned of eventuele cv-qualifiers heeft veel vrijheid. Zo mag het volgende:
[ code verwijderd ]
(Wie weet (a) welk fundamenteel datatype dit is en (b) waarom deze declaratie qua betekenis raar is?)
Dus een 'long unsigned int' is precies hetzelfde als een 'unsigned long'.
Volatile wil zeggen dat de waarde van de variabele door een extern proces veranderd kan worden en dat de compiler bij het optimaliseren daar dus rekening mee moet houden.quote:Op woensdag 14 maart 2012 17:04 schreef netolk het volgende:
[..]
a) Ik weet niet precies wat volatile doet, maar ik zou zeggen dat je een constante integer hebt die zowel positief als negatief kan zijn (signed) en de grootte van long long heeft (en als waarde 0)
b) Ik weet niet precies wat volatile doet, dus geen idee
ahh, dan is het rare dat het veranderd kan worden terwijl het een const isquote:Op woensdag 14 maart 2012 17:34 schreef thabit het volgende:
[..]
Volatile wil zeggen dat de waarde van de variabele door een extern proces veranderd kan worden en dat de compiler bij het optimaliseren daar dus rekening mee moet houden.
Het datatype is inderdaad 'long long int', wat jij volgens mij ook zegt hierboven. De 'int' is overbodig en mag dus weggelaten worden. Dit geldt ook voor de 'signed': dit is immers standaard zo.quote:Op woensdag 14 maart 2012 17:04 schreef netolk het volgende:
a) Ik weet niet precies wat volatile doet, maar ik zou zeggen dat je een constante integer hebt die zowel positief als negatief kan zijn (signed) en de grootte van long long heeft (en als waarde 0)
quote:Op woensdag 14 maart 2012 23:01 schreef netolk het volgende:
ahh, dan is het rare dat het veranderd kan worden terwijl het een const is
quote:Op woensdag 14 maart 2012 23:24 schreef GS42 het volgende:
[..]
Het datatype is inderdaad 'long long int', wat jij volgens mij ook zegt hierboven. De 'int' is overbodig en mag dus weggelaten worden. Dit geldt ook voor de 'signed': dit is immers standaard zo.
[..]En dat klopt ook: een variabele zowel const als volatile declareren is vreemd omdat de termen elkaar tegenspreken. Toch kan het zo zijn dat je aan wilt geven dat jouw programma de waarde niet mag veranderen terwijl een extern proces de waarde wel kan veranderen; daarom keurt de compiler het wel goed.
Is het niet sowieso veel handiger om types als int64_t te gebruiken als je expliciet het aantal bits wilt benoemen?quote:Op woensdag 14 maart 2012 23:24 schreef GS42 het volgende:
[..]
Het datatype is inderdaad 'long long int', wat jij volgens mij ook zegt hierboven. De 'int' is overbodig en mag dus weggelaten worden. Dit geldt ook voor de 'signed': dit is immers standaard zo.
Ja, misschien wel....quote:Op donderdag 15 maart 2012 17:34 schreef thabit het volgende:
[..]
Is het niet sowieso veel handiger om types als int64_t te gebruiken als je expliciet het aantal bits wilt benoemen?
Dit dus, in dit geval komt stdint.h/cstdint erg goed van pas.quote:Op donderdag 15 maart 2012 17:34 schreef thabit het volgende:
[..]
Is het niet sowieso veel handiger om types als int64_t te gebruiken als je expliciet het aantal bits wilt benoemen?
Ja, als je precies dat aantal bits nodig hebt, is het handiger om die typedefs te gebruiken. Volgens mij zitten deze types echter niet in de standaard en kunnen ze dus problemen opleveren voor andere compilers.quote:Op donderdag 15 maart 2012 17:34 schreef thabit het volgende:
[..]
Is het niet sowieso veel handiger om types als int64_t te gebruiken als je expliciet het aantal bits wilt benoemen?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |