什么是'mfcs90.lib'?

时间:2011-02-22 01:18:41

标签: visual-c++

我希望mfc能够引用Microsoft基础类,但这仍然存在以下问题:

  • s代表什么?
  • 90是什么意思?

2 个答案:

答案 0 :(得分:4)

这些MFC链接库由微软的TN033技术说明轻描述:http://msdn.microsoft.com/en-us/library/hw85e4bb.aspx

有关mfcsxxx.lib文件的快速摘要如下:MFCSxx [U] [D] .LIB库与MFC共享DLL一起使用。这些库包含必须静态链接到应用程序或DLL的代码。

  • “U”表示该库是为Unicode构建的。
  • “D”表示该库是为Debug而构建的。
  • 如果库中的数字是90,那么它是用Visual Studio 2008编译的(VC ++ 9.0)
  • 如果库中的数字是100,那么它是用Visual Studio 2010编译的(VC ++ 10.0)

请注意,虽然mfcsxxx.lib文件具有静态链接到输出二进制文件的代码,但它们与MFC的DLL版本一起使用 - 当静态链接MFC时,[nu] afxcw [d] .lib库使用(其中“n”或“u”确定库是否为Unicode,并且在调试版本中使用“d”。)

其他相关的MSDN页面:

答案 1 :(得分:1)

90是9.0,表示它对应于Visual Studio 2008

我要对's'进行攻击并说它表示该库支持MultiByte字符集(而不是Unicode或ANSI),但我找不到直接确认的链接。

编辑:

Michael Burr是正确的,'s'表示它是一个静态链接的库,并与MFC的共享DLL版本一起使用。我几乎更喜欢Visual Studio 2003的文档:http://msdn.microsoft.com/en-us/library/eezxhb2t(v=vs.71).aspx,其中包含表中的DLL并解释它的用途。