![]() |
[INF] Programma sluit automatisch
Ik probeer te leren programmeren in C en ik gebruik Dev C++ als compiler. Als ik een programma wil uitvoeren, sluit het automatisch weer heel snel, zonder dat je kunt zien wat er eigenlijk gebeurt. Hoe kan ik dit voorkomen?
Ik heb zelf al wat op internet gezocht, maar wat ik daar tegenkwam is voor C++ geloof ik. Alles wat ik heb geprobeerd werkte in ieder geval niet. |
typ 1 of 2 keer een functie als getchar(); aan het eind van je programma.
Edit: overigens is er niet veel mis met je code hoor, dit is puur een workaround om te zorgen dat het venster niet sluit. Als je grotere stukken code schrijft kan het zelfs zo zijn dat je nog vaker getchar(); aan het eind moet zetten. |
getchar() had ik al een keer geprobeerd, maar dan maar één keer in m'n hele code. Ik zal het eens meerdere keren proberen, benieuwd of het dan wel werkt. Bedankt in ieder geval.
|
En als je echt niet kan zien waarom iets niet werkt, dan wordt het tijd om logging en debugging hooks toe te gaan voegen.
Wanneer ik iets schrijf dat ook maar'n beetje ingewikkeld wordt, dan bouw ik een debug mode in, die ik aan of uit kan zetten met een simpel, Boolean vlaggetje. Wanneer deze debug mode aan staat, dan worden er op strategische punten variabelen uitgelezen en de waardes gedumpt naar een logfile. Zo kan je gemakkelijk zien wat jou programma allemaal heeft uitgevreten. Natuurlijk kan je het progje (omdat het een gecompileerde taal is) ook gewoon met een debugger runnen, zodat je het realtime kan volgen :) |
Nouja, het werkt wel, maar ik kan het alleen nauwelijks zien omdat het schermpje meteen sluit. Ik ben ook nog maar bij de hele eenvoudige programma's hoor.
Getchar geprobeerd op verschillende plaatsen maar daarmee blijft het ook niet open. |
Dan dump je de output van het windowtje toch ook naar een logfile? :)
Of nog beter, waarom uberhaupt een window? Commandline FTW! /o/ |
Mooi, met debuggen kan ik het inderdaad wel zien :) dankjewel! Je moet dan alleen niet zelf het schermpje proberen te sluiten merkte ik, dan loopt ie vast :o
|
Ik heb zelf geen ervaring met C/C++ om in te programmeren, maar in TurboPascal deed ik het altijd met wat assembler helemaal op het einde van mijn programma (werkt op DOS, maar hopelijk ook in Windows dus). Hoe je assembler in C/C++ integreertm zou ik niet weten, maar vermoedelijk op deze manier:
Code:
asm |
Alle tijden zijn GMT +1. Het is nu 14:29. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.