开发者

What is 'mfcs90.lib'?

I would expect the mfc to refer to the Microsoft Foundation Classes, but this still leaves the following questions:


These MFC link libraries are lightly documented by Microsoft's TN033 Tech Note: http://msdn.microsoft.com/en-us/library/hw85e4bb.aspx

A quick summary about the mfcsxxx.lib files is: The MFCSxx[U][D].LIB libraries are used in conjunction with the MFC shared DLLs. These libraries contain code that must be statically linked to the application or DLL.

  • The "U" designates that the library is built for Unicode.
  • The "D" designates that the library is built for Debug.
  • If the number in the library is 90, then it's compiled with and for Visual Studio 2008 (VC++ 9.0)
  • If the number in the library is 100, then it's compiled with and for Visual Studio 2010 (VC++ 10.0)

Note that while the mfcsxxx.lib files have code that is statically linked to the output binary, they are used in conjunction with the DLL versions of MFC - when statically linking MFC, the [nu]afxcw[d].lib libraries are used (where "n" or "u" determines whether or not the library is Unicode, and "d" is used in Debug builds).

Other related MSDN pages:

  • Library Naming Conventions (for MFC static linking)
  • Naming Conventions for MFC DLLs
  • C Run-Time Libraries


90 is 9.0 and means it corresponds to Visual Studio 2008

I'm going to take a stab at the 's' and say it says the library supports MultiByte Character Sets (as opposed to Unicode or ANSI), but I could not find a link that directly confirmed that.

Edit:

Michael Burr is correct, the 's' indicates it is a library that is statically linked and used in conjunction with the shared DLL versions of MFC. I almost prefer the documentation for Visual Studio 2003: http://msdn.microsoft.com/en-us/library/eezxhb2t(v=vs.71).aspx where it has the DLL in the table and explains what it is for.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜