【问题标题】:main() wrapper to start wmain() program to compile it from commandlinemain() 包装器启动 wmain() 程序以从命令行编译它
【发布时间】:2019-02-25 18:56:04
【问题描述】:

例如,我有一个程序,它的“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?

谢谢

【问题讨论】:

  • 你能展示更多关于你想要实现的代码吗?
  • “更多”是什么意思?一个工作程序?

标签: c main wmain


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    相关资源
    最近更新 更多