main()包装器,以启动wmain()程序以从命令行对其进行编译

时间:2018-09-21 11:10:04

标签: c main wmain

例如,我有一个将“ main”功能定义为wmain的程序。

int wmain( int argc, wchar_t *argv[] ) {
    wchar_t* lpModulePath = NULL;
    wchar_t* lpFunctionName = NULL;
    lpModulePath = argv[1];
    lpFunctionName = argv[2];
}

,当然使用wchar_t类型。我该如何编写函数

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

将以char形式传递的参数转换为wchar_t,然后自行调用wmain?

谢谢

1 个答案:

答案 0 :(得分:0)

在Windows上,您可以使用GetCommandLineW()CommandLineToArgvW()

int main(int argc, char* argv[])
{
    wchar_t** wargv = CommandLineToArgvW(GetCommandLineW(), &argc);
    int ret = wmain(argc, wargv);
    LocalFree(wargv);
    return ret;
}

在Linux上,恐怕您必须分配数组并循环转换字符串。