正常以WinCE为主

Nat*_*ons 2 c++ evc4 windows-ce

我正在将现有(主要)跨平台应用程序移植到WinCE 4.2.该函数的当前入口点是

int main(int argc, char *argv[]){}
Run Code Online (Sandbox Code Playgroud)

我想保持这部分原样,并让WinCE入口点简单地调用它.我相信以下内容应该有效:

int WINAPI WinMain( HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPTSTR    lpCmdLine,
                    int       nCmdShow) 
{
    int argc = _tcslen(lpCmdLine);
    char *argv = new char[argc];
    wcstombs(argv,lpCmdLine,1024);
    argc = main(argc,&argv);
    delete [] argv;
    return argc;
}
Run Code Online (Sandbox Code Playgroud)

它编译,并且应该运行一次我弄清楚链接器为什么会抛出,但是它是对的吗?

cta*_*cke 5

真正简单的方法是只更改项目的链接器入口点并使用main(...)函数.

打开项目"属性"对话框,然后转到"链接器 - >高级",并根据以下内容设置"入口点"值:

如果你的切入点是这样的:

int main(int argc, char *argv[])
Run Code Online (Sandbox Code Playgroud)

然后将入口点设置为 mainACRTStartup

但是,如果你开始:

int _tmain(int argc, TCHAR *argv[])
Run Code Online (Sandbox Code Playgroud)

然后进入点是 mainWCRTStartup