main() 包装器启动 main() 程序以从命令行编译它

main() wrapper to start wmain() program to compile it from commandline

例如我有一个程序 "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?

谢谢

在 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 恐怕你必须分配数组并在循环中转换字符串。