vc 设置工程为unicode

    技术2026-08-15  17

    一. 确保vc支持unicode编程

     

          对普通win32程序,vc是支持unicode的。

     

          对MFC程序,还需要MFC42UD相关文件。如果没有的话会报cannot open file "mfc42ud.lib" unresolved external symbol _WinMain@16错误。MFC42UD文件可在网上搜到。

     

    二. 设置工程为unicode类型

     

         (1) setting->C/C++->Preprocessor definitions

       把_MBCS改为_UNICODE,UNICODE.

         (2) 如果是MFC程序,则还需要setting->Link->Category 选择Output, 在Entry point里面输入wWinMainCRTStartup。

         (3)如果是普通的win32程序,默认生成的WinMain函数是

    int APIENTRY WinMain(HINSTANCE hInstance,                      HINSTANCE hPrevInstance,                      LPSTR     lpCmdLine,                      int       nCmdShow),

    可以看出,它参数是不支持UNICODE的,要支持UNICODE,则改为

    int APIENTRY _tWinMain(HINSTANCE hInstance,                      HINSTANCE hPrevInstance,                      LPTSTR     lpCmdLine,                      int       nCmdShow)

     同时,也需要在Entry point里面输入wWinMainCRTStartup。

    (4)如果是普通的win32动态库,则默认的生成函数是

    BOOL APIENTRY DllMain( HANDLE hModule,                        DWORD  ul_reason_for_call,                        LPVOID lpReserved                      ) 从参数可以看出,它没有UNICODE非UNICODE之分,所以不用考虑UNICODE,同时,也不需要设置wWinMainCRTStartup

    接下来就是在编码中注意使用支持Unicode的函数了。。

     

     

     

    最新回复(0)