No WinMain llamada antes de principal (C / C ++ Punto de acceso al Programa de Emisión)

StackOverflow https://stackoverflow.com/questions/2620031

  •  26-09-2019
  •  | 
  •  

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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top