MinGW

2013-07-30 23 views
5

içinde __argc ve __argv kullanma MinGW (zaten windows.h dahil) yerleşik __argc ve __argv (Visual C++ gibi) yerleşikleri kullanmak için herhangi bir güzel yolu var mı, yoksa yapmak zorunda mıyım Bu parametrelere erişmek için daha çok yer var. O kadar çok sadece MinGW bu kod iş var istiyorum (ama her zaman biz istediğine alamadım):MinGW

#include <windows.h> 

extern int main(int argc, char* argv[]); 

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT) 
{ 
    return main(__argc, __argv); 
} 
+1

Eşdeğer değerleri almak için 'GetCommandLineW' ve' CommandLineToArgvW' kullanın. –

+0

Neden geniş versiyonlar? – Rollie

+0

Gördüğüm literatüre göre, bu işlevlerin normal ANSI sürümleri mevcut olmayabilir. –

cevap

4

Bu "yerleşikleri," küresel değişkenler tarafından sağlanmaktadır değildir C Çalışma Zamanı. Her ikisi de Visual C++ kitaplığı başlıklarında ve Stephan's MinGW distro'da <stdlib.h> bildirilmiştir. <stdlib.h> kopyanızda beyan edilmediyse, bunları kendiniz beyan etmelisiniz.

+0

Teşekkürler, o özel dağıtımın farkında değildim. Sadece bütünlük adına, bana (veya bana gösterecek bir yere bağlantı) bana kendimi uygun bir şekilde nasıl beyan edeceğinizi gösterebilir misiniz? Çok teşekkürler! –

+0

@MaxFeldkamp belki de 'extern'i kullanarak. Extern char ** argv'de olduğu gibi. Standart mingw ile çözülmemiş semboller hakkında hiçbir mesaj almadım. – mlt

+0

Başarılı bir derleme ancak "__argc" ve "__argv" ile çalışma zamanında bir SEGV aldım. Ancak, hiçbir sorun olmadan '_argc' ve' _argv' (iki yerine alt çizgi) kullanabilirdim. – cxw