Error still occurs, even if SDL is never even initialized

Was just debugging a new custom build step in MSVC++7, and had my main()
function setup thus:

int main (int argc, char **argv)
printf("%s\n", Build::projectVersion);
return 0;

Now, what I was testing worked out fine (it updates the version number ever
build I make). However, what I found odd is that, while I never even
initialize SDL, my old doexit() bug still triggers [the bug occurs because,
some how, atexit() is being passed a pointer to NULL – or rather, a pointer
to 0x00000010). I originally thought that SDL_Init() was the culprit –
since passing SDL_INIT_NOPARACHUTE to it seems to “solve” the problem. My
question is: is SDL’s catch-all main() initializing the parachute before
SDL_Init() is being called, and then SDL_Init() disableing it, or does the
bug have nothing to do with the parachute, but rather something deeper
(somehow fixed by passing the no-parachute flag to SDL_Init())?

  • Silicon—
    Outgoing mail is certified Virus Free.
    Checked by AVG anti-virus system (
    Version: 6.0.530 / Virus Database: 325 - Release Date: 10/22/2003