none
对运行时库版本的一些疑问 RRS feed

  • 问题

  • VC的运行时库有msvcrt.dll,msvcr70.dll,msvcr80.dll,msvcr90.dll等.

    msvcrt.dll和msvcrXX.dll是啥关系?是msvcrXX.dll会调用msvcrt.dll,还是msvcrt.dll对应60以下版本。

    另外,vc++6.0的运行库是啥?

    2013年1月13日 15:31

答案

  • 这些DLL都是对应于msvcrt.lib的动态链接库。msvcrt.lib是编译时用的,DLL是运行时用的。

    msvcr70/80/90.dll是不同版本的动态链接库,分别对应于Visual C++ 6.0/Visual Studio 2005和2008。

    msvcrt.dll现在已经被msvcr70/80/90.dll取代了,也就是说,编译的时候用msvcrt.lib,运行的时候将使用msvcr70/80/90.dll。关于msvcrt.dll,我所知道的是它被提供给系统层级的一些组件使用。

    另外,建议你使用更高版本的Visual C++,微软已经不再支持Visual C++ 6.0了。

    谢谢。


    Damon Zheng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年1月16日 9:50
    版主

全部回复

  • msvcrt.dll是微软内部用的,不是给你用的。这个dll不会被给你用的VCDLL调用,也不依赖于这些DLL。


    Visual C++ MVP

    2013年1月13日 19:04
    版主
  • 这些DLL都是对应于msvcrt.lib的动态链接库。msvcrt.lib是编译时用的,DLL是运行时用的。

    msvcr70/80/90.dll是不同版本的动态链接库,分别对应于Visual C++ 6.0/Visual Studio 2005和2008。

    msvcrt.dll现在已经被msvcr70/80/90.dll取代了,也就是说,编译的时候用msvcrt.lib,运行的时候将使用msvcr70/80/90.dll。关于msvcrt.dll,我所知道的是它被提供给系统层级的一些组件使用。

    另外,建议你使用更高版本的Visual C++,微软已经不再支持Visual C++ 6.0了。

    谢谢。


    Damon Zheng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年1月16日 9:50
    版主