No WinMain llamada antes de principal (C / C ++ Punto de acceso al Programa de Emisión)
Pregunta
Yo tenía la impresión de que este código
#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;
}
emitiría WinMain, pero por supuesto nada funciona siempre cómo se espera.
En cualquier caso, podría alguien por favor dígame cómo conseguir este programa se ejecute primero WinMain (tengo una razón para usar ambos). Estoy Windows 7 corriendo con MinGW si eso ayuda nada.
Solución 3
Sólo encontró este trabajo alrededor y tipo de sensación tonta.
#define main USER_Main
Esto entonces lleva a cabo de la línea principal por ser el punto de entrada de los programas al mismo tiempo ocultar el hecho de que nada se metió con parte del usuario.
Otros consejos
Es necesario poner -mwindows
en la línea de comandos cuando se llama Mingw. Compruebe este como una suave introducción a la programación de Windows con MinGW.
También:. No se puede tener dos puntos de entrada en un archivo ejecutable, por lo que probablemente no puede hacer lo que quiere hacer
El compilador elegir un punto de entrada u otra en función de si se está dirigiendo la salida compilada al subsistema de Windows o el subsistema de la consola. WinMain
para el primero, main
para el segundo.