MinGW

2013-07-30 13 views
5

में __argc और __argv का उपयोग करके मैं सोच रहा था, क्या MinGW में अंतर्निहित __argc और __argv (जैसे Visual C++) का उपयोग करने का कोई अच्छा तरीका है (मैं पहले से windows.h सहित हूं), या मुझे करना होगा इन मानकों तक पहुंचने के लिए कुछ और शामिल है। मैं तो बहुत ज्यादा सिर्फ MinGW में इस कोड काम करना चाहते हैं (लेकिन हम हमेशा क्या हम के लिए इच्छा नहीं मिलता है):MinGW

#include <windows.h> 

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

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

समकक्ष मूल्यों को पुनर्प्राप्त करने के लिए 'GetCommandLineW' और' CommandLineToArgvW' का उपयोग करें। –

+0

व्यापक संस्करण क्यों? – Rollie

+0

मैंने जो साहित्य देखा है, उनके अनुसार, उन कार्यों के नियमित एएनएसआई संस्करण मौजूद नहीं हो सकते हैं। –

उत्तर

4

ये नहीं "builtins," वे वैश्विक चर द्वारा प्रदान की जाती हैं कर रहे हैं सी रनटाइम उन्हें Visual C++ लाइब्रेरी हेडर और Stephan's MinGW distro दोनों में <stdlib.h> में घोषित किया गया है। अगर उन्हें आपकी <stdlib.h> की प्रतिलिपि में घोषित नहीं किया गया है, तो बस उन्हें स्वयं घोषित करें।

+0

धन्यवाद, मुझे उस विशेष distro के बारे में पता नहीं था। सिर्फ पूर्णता के लिए, क्या आप मुझे दिखा सकते हैं (या मुझे कहीं भी लिंक करें जो मुझे दिखाएगा) उन्हें खुद को सही तरीके से घोषित कैसे करें? बहुत धन्यवाद! –

+0

@MaxFeldkamp शायद 'बाहरी' का उपयोग कर। 'बाहरी चार ** argv;' की तरह। मुझे मानक mingw के साथ अनसुलझे प्रतीकों के बारे में कोई संदेश नहीं मिला। – mlt

+0

मेरे पास एक सफल संकलन था लेकिन '__argc' और' __argv' के साथ रनटाइम पर एक एसईजीवी था। हालांकि, मैं बिना किसी समस्या के '_argc' और' _argv' (दो के बजाय एक अंडरस्कोर) का उपयोग करने में सक्षम था। – cxw