我經常遇到Windows程序捆綁在MSVCRT(或其更多的當前等價物)與程序可執行文件。在典型的PC上,我會找到相同的.DLL的許多副本。我的理解是,MSVCRT是C運行時庫,有點類似於* nix下的glibc/libc.so。Windows下的MSVCRT是否像* nix下的glibc(libc)?
爲什麼Windows程序必須帶着它們的C庫,而不是僅僅共享系統範圍的libc?
更新:感謝Shog9,我開始閱讀有關的SxS,這進一步打開了我的眼睛到DLL聯繫的問題(DLL地獄) - http://blogs.msdn.com/b/martynl/archive/2005/10/13/480880.aspx是一個有用的介紹這個問題...
似乎MS的解決方案將編譯器+ c運行時庫版本連接在一起。 – 2012-08-23 04:01:14