C++ 在MinGW中使用_argc和_argv

C++ 在MinGW中使用_argc和_argv,c++,mingw,C++,Mingw,我想知道,有没有什么好方法可以在MinGW中使用内置的_argc和_argv(就像在visualc++中一样)(我已经包括了windows.h),或者我需要做更多的事情来访问这些参数。我非常想让这段代码在MinGW中工作(但我们并不总是能得到我们想要的): #包括 extern-int-main(int-argc,char*argv[]); int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { 返回干管(_argc,_argv); } 这些不是“

我想知道,有没有什么好方法可以在MinGW中使用内置的_argc和_argv(就像在visualc++中一样)(我已经包括了windows.h),或者我需要做更多的事情来访问这些参数。我非常想让这段代码在MinGW中工作(但我们并不总是能得到我们想要的):

#包括
extern-int-main(int-argc,char*argv[]);
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
返回干管(_argc,_argv);
}

这些不是“内置变量”,它们是由C运行时提供的全局变量。它们在VisualC++库标头和In中都在<代码> <代码>中声明。如果它们没有在您的
副本中声明,请您自己声明。

使用
GetCommandLineW
CommandLineToArgvW
来检索等效值。为什么要使用宽版本?根据我所看到的文献,这些函数的常规ANSI版本可能不存在。谢谢,我不知道那个发行版。为了完整起见,你能告诉我(或者把我链接到某个可以告诉我的地方)如何正确地声明它们吗?多谢@MaxFeldkamp可能使用
extern
。类似于
extern char**argv。我没有收到任何关于标准mingw未解析符号的消息。我成功编译了一个SEGV,但在运行时使用了
\uuu argc
\uu argv
。但是,我能够毫无问题地使用
\u argc
\u argv
(一个下划线而不是两个下划线)。
#include <windows.h>

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

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