Non WinMain chiamato prima principale (C / C ++ Programma Punto di ingresso di Emissione)

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

  •  26-09-2019
  •  | 
  •  

Domanda

Ho avuto l'impressione che questo codice

#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;
}

avrebbe fatto di uscita WinMain, ma ovviamente nulla mai funziona come si aspetta.

In ogni modo, qualcuno potrebbe dirmi come ottenere questo programma da eseguire prima WinMain (ho una ragione per usare entrambi). Sono in esecuzione Windows 7 con MinGW se questo aiuta nulla.

È stato utile?

Soluzione 3

Appena trovato in giro e tipo di sentirsi stupida questo lavoro.

#define main USER_Main

Questa poi tira fuori principale della linea per essere il punto di ingresso dei programmi, pur nascondendo il fatto che tutto ciò che era incasinato con dall'utente.

Altri suggerimenti

È necessario mettere -mwindows sulla riga di comando quando si chiama MinGW. Controllare questo fuori come una breve introduzione alla programmazione Windows con MinGW.

Inoltre:. Non è possibile avere due punti di ingresso in un file eseguibile, quindi probabilmente non può fare quello che si vuole fare

Il compilatore sceglierà un punto di ingresso o l'altro a seconda che ci si rivolge l'output compilato al sottosistema di Windows o il sottosistema Console. WinMain per l'ex, main per la seconda.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top