Search code examples
c++cwinapiwinmain

WinMain not called before main (C/C++ Program Entry Point Issue)


I was under the impression that this code

#include <windows.h>

#include <stdio.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    printf("WinMain\n");

    return 0;
}

int main()
{
    printf("main\n");

    return 0;
}

would output WinMain, but of course nothing ever works how you expects.

Anyways, could somebody please tell me how to get this program to run WinMain first (I do have a reason for using both). I'm running windows 7 with mingw if that helps anything.


Solution

  • Just found this work around and kind of feel dumb.

    #define main USER_Main
    

    This then takes main out of line for being the programs entry point while still hiding the fact that anything was messed with from the user.