Ik als C++ beginner ben bezig met het maken van een console applicatie in Visual C++ 2005 (Express Edition). Het programma moet werken met commandline argumenten. In de debug configuration werkt het goed, maar zodra ik de release wil draaien, krijg ik vreemde resultaten. Het maakt niet uit hoeveel argumenten ik meegeef aan het programma, op de een of andere manier is het aantal argumenten dat in het programma aankomt altijd 14, en bevat de argv[] array geheugenadressen als 0x00000000, 0x00000004, 0x00000008, 0x0000000C, enz. Als ik de argumenten probeer uit te printen, krijg ik logischerwijs een access violation.
Ik heb een vermoeden dat het ergens in de linker opties fout gaat, want ik moet in de linker opties sowieso in release mode /ENTRY:main meegeven, anders start mijn programma helemaal niet (gelijk een access violation op adres 0x00000000). In debug mode hoeft dit niet. Op de een of andere manier lijkt het dus alsof VC++ problemen heeft met mijn main-methode.
Ik heb geen project template van VC++ gebruikt, maar gewoon gestart met een Empty project en daar zelf een main.cpp gemaakt, met gewoon een standaard main methode:
Wat doe ik fout?
PS: Ik zat te twijfelen of dit topic hier hoorde of in DevTools. Ik heb het hier gepost omdat ik denk dat de fout toch ergens aan mijn kant moet zitten, als dit de fout van VC++ blijkt te zijn, had hij eigenlijk in DevTools moeten staan.
Ik heb een vermoeden dat het ergens in de linker opties fout gaat, want ik moet in de linker opties sowieso in release mode /ENTRY:main meegeven, anders start mijn programma helemaal niet (gelijk een access violation op adres 0x00000000). In debug mode hoeft dit niet. Op de een of andere manier lijkt het dus alsof VC++ problemen heeft met mijn main-methode.
Ik heb geen project template van VC++ gebruikt, maar gewoon gestart met een Empty project en daar zelf een main.cpp gemaakt, met gewoon een standaard main methode:
C++:
1
| int main(int argc, char* argv[]) |
Wat doe ik fout?
PS: Ik zat te twijfelen of dit topic hier hoorde of in DevTools. Ik heb het hier gepost omdat ik denk dat de fout toch ergens aan mijn kant moet zitten, als dit de fout van VC++ blijkt te zijn, had hij eigenlijk in DevTools moeten staan.