Numatytosios C ir C++ bibliotekos, kuri programa bus susieti su kai sukurta naudojant Visual C ++ aprašas


Suvestinė


Šiame straipsnyje aprašoma numatytosios bibliotekos LIBC [D]. LIB, LIBCMT [D]. LIB, LIBCI [D]. LIB, LIBCIMT [D]. LIB, LIBCP [D]. LIB, LIBCPMT [D]. LIB, MSVCRT [D]. LIB, MSVCIRT [D]. LIB ir MSVCPRT [D]. LIB, kuri programa bus susieti su kai sukurta naudojant Visual C ++.

Daugiau informacijos


Kai kuriate leidimo (arba derinimo) versija projekto Visual c ++, vienas iš pagrindinių C vykdymo proceso bibliotekos (LIBC [D]. LIB, LIBCMT [D]. LIB ir MSVCRT [D]. LIB) yra susiję pagal numatytuosius parametrus, atsižvelgiant į pasirinktą parinktį kompiliatorius (vienos gijos < ML [d] >, gijų < MT [d] > arba gijų DLL < MD [d] >). Iš standartinės C ++ bibliotekos biblioteka arba iš senosios iostream bibliotekos gali būti susijęs priklausomai nuo antraštes, galite naudoti savo kode. Pavyzdžiui, Įsivaizduokite šiais atvejais:

1 atvejis: Pavyzdinė programa test1.cpp

// test1.cppvoid main(){}
  • Jei kuriate test1.cpp/ml (arba /MLd, skirtas derinimo Komponavimo versija) kompiliatorius parinktį, jūsų programa bus susieti su LIBC. LIB (arba LIBCD. LIB, skirtas derinimo Komponavimo versija), be to prie kitos bibliotekos.
    Pastaba. / Ml ir /MLd bibliotekos kompiliatorius parinktis statinis vienos gijos bibliotekos buvo pašalinti Visual C ++ 2005 ir vėlesnės versijos Visual C ++.
  • Jei kuriate test1.cpp naudojant /MT (arba /MTd, skirtas derinimo Komponavimo versija) kompiliatorius parinktį, jūsų programa bus susieti su LIBCMT. LIB (arba LIBCMTD. LIB, skirtas derinimo Komponavimo versija), be to prie kitos bibliotekos.
  • Jei kuriate naudodami arba MD (arba /MDd, skirtas derinimo Komponavimo versija) test1.cpp kompiliatorius parinktį, jūsų programa bus susieti su MSVCRT. LIB (arba MSVCRTD. LIB, skirtas derinimo Komponavimo versija), be to prie kitos bibliotekos. Tokiu atveju programa bus priklauso nuo MSVCRT. DLL (arba MSVCRTD. DLL derinimo Komponavimo versija).

2 atvejis: Pavyzdinė programa test2.cpp

   // test2.cpp   #include <iostream>   void main()   {   }
  • Jei kuriate test2.cpp/ml (arba /MLd, skirtas derinimo Komponavimo versija) kompiliatorius parinktį, jūsų programa bus susieti su LIBC. LIB (arba LIBCD. LIB, derinimo Komponavimo versija) ir LIBCP. LIB (arba LIBCPD. LIB, skirtas derinimo Komponavimo versija), be to prie kitos bibliotekos.
    Pastaba. / Ml ir /MLd bibliotekos kompiliatorius parinktis statinis vienos gijos bibliotekos buvo pašalinti Visual C ++ 2005 ir vėlesnės versijos Visual C ++.
  • Jei kuriate test2.cpp naudojant /MT (arba /MTd, skirtas derinimo Komponavimo versija) kompiliatorius parinktį, jūsų programa bus susieti su LIBCMT. LIB (arba LIBCMTD. LIB, derinimo Komponavimo versija) ir LIBCPMT. LIB (arba LIBCPMTD. LIB, skirtas derinimo Komponavimo versija), be to prie kitos bibliotekos.
  • Jei kuriate naudodami arba MD (arba /MDd, skirtas derinimo Komponavimo versija) test2.cpp kompiliatorius parinktį, jūsų programa bus susieti su MSVCRT. LIB (arba MSVCRTD. LIB, derinimo Komponavimo versija) ir MSVCPRT. LIB (arba MSVCPRTD. LIB, skirtas derinimo Komponavimo versija), be to prie kitos bibliotekos. Microsoft Visual C ++ 2008, programa bus priklauso nuo MSVCR90. DLL ir MSVCP90. DLL (arba MSVCR90D. DLL ir MSVCP90D. DLL derinimo Komponavimo versija). Microsoft Visual C ++ 2005, programa bus priklauso nuo MSVCR80. DLL ir MSVCP80. DLL (arba MSVCR80D. DLL ir MSVCP80D. DLL derinimo Komponavimo versija). Microsoft Visual C ++ 2003, programa bus priklauso nuo MSVCR71. DLL ir MSVCP71. DLL (arba MSVCR71D. DLL ir MSVCP71D. DLL derinimo Komponavimo versija). "Microsoft Visual C ++ 2002", programa bus priklauso nuo MSVCR70. DLL ir MSVCP70. DLL (arba MSVCR70D. DLL ir MSVCP70D. DLL derinimo Komponavimo versija). Microsoft Visual C ++ 6.0, programa bus priklauso nuo MSVCRT. DLL ir MSVCP60. DLL (arba MSVCRTD. DLL ir MSVCP60D. DLL derinimo Komponavimo versija). Microsoft Visual C ++ 5.0, programa bus priklauso nuo MSVCRT. DLL ir MSVCP50. DLL (arba MSVCRTD. DLL ir MSVCP50D. DLL derinimo Komponavimo versija). Microsoft Visual C ++ 4.2, programa bus priklauso nuo MSVCRT. DLL (arba MSVCRTD. DLL derinimo Komponavimo versija) ir MSVCPRT. LIB (arba MSVCPRTD. LIB, skirtas derinimo Komponavimo versija).

3 atvejis: Pavyzdinė programa test3.cpp

Pastaba. Į srauto failų su plėtiniu .h (įskaitant < useoldio.h >) Visual C ++ 2002 pasenęs ir pašalinti Visual C ++ 2005 "ir" Visual C ++ 2003. Todėl šis pavyzdys neveiks naudojant Visual C ++ versiją vėliau Visual C ++ 2002.
// test3.cpp#include <iostream.h>void main(){}
  • Jei kuriate test3.cpp/ml (arba /MLd, skirtas derinimo Komponavimo versija) kompiliatorius parinktį, jūsų programa bus susieti su LIBC. LIB (arba LIBCD. LIB, derinimo Komponavimo versija) ir LIBCI. LIB (arba LIBCID. LIB, skirtas derinimo Komponavimo versija), be to prie kitos bibliotekos.
    Pastaba. / Ml ir /MLd bibliotekos kompiliatorius parinktis statinis vienos gijos bibliotekos buvo pašalinti Visual C ++ 2005 ir vėlesnės versijos Visual C ++.
  • Jei kuriate test3.cpp naudojant /MT (arba /MTd, skirtas derinimo Komponavimo versija) kompiliatorius parinktį, jūsų programa bus susieti su LIBCMT. LIB (arba LIBCMTD. LIB, derinimo Komponavimo versija) ir LIBCIMT. LIB (arba LIBCIMTD. LIB, skirtas derinimo Komponavimo versija), be to prie kitos bibliotekos.
  • Jei kuriate naudodami arba MD (arba /MDd, skirtas derinimo Komponavimo versija) test3.cpp kompiliatorius parinktį, jūsų programa bus susieti su MSVCRT. LIB (arba MSVCRTD. LIB, derinimo Komponavimo versija) ir MSVCIRT. LIB (arba MSVCIRTD. LIB, skirtas derinimo Komponavimo versija) Be to prie kitos bibliotekos. Tokiu atveju programa bus priklauso nuo MSVCRT. DLL (arba MSVCRTD. DLL derinimo Komponavimo versija) ir MSVCIRT. DLL (arba MSVCIRTD. DLL derinimo Komponavimo versija).
Antraštės nustatyti, ar bus susieti standartinės C ++ bibliotekos, senų iostream bibliotekos arba nė vienas. Kompiliatoriaus parinktys (/ml/ml [d], /MT [d], [d] arba MD) nustatyti, kokia versija bibliotekų vienos gijos, kelių gijų arba gijų DLL susieti pagal numatytuosius parametrus. Pastaba. Ji gali atrodyti, antraštės be plėtinio .h Standard C++ antraščių ir kad antraštės su plėtiniu .h C Runtime arba seną iostream antraštes. Tai nėra teisinga. Kaip paaiškinta toliau, failų < useoldio.h > ir < use_ansi.h > nustatyti jūsų prašymas bus susieti su bibliotekos. Tiesą sakant, yra du failų, < useoldio.h > ir < use_ansi.h >, kuriuose yra #pragmas. Kad #pragmas priversti senosios iostream bibliotekos arba standartinė C ++ biblioteka susieti pagal numatytuosius parametrus. Antraštės failą < useoldio.h > yra #pragma, kurios verčia senas iostream biblioteka susieti. Visi senas iostream antraštės yra < useoldio.h >. Taip, jei norite įtraukti visas senas iostream antraštės naudojant savo programą, senosios iostream bibliotekos susiejami pagal numatytuosius parametrus. Šioje lentelėje pateikiami visi į failų, kuriuose yra < useoldio.h >.

Senas iostream antraštės

FSTREAM.HIOMANIP.H
IOS.HIOSTREAM.H
ISTREAM.HOSTREAM.H
STDIOSTR.HSTREAMB.H
STRSTREA.H
Pastaba < useoldio.h > taikomas tik Visual C ++ .NET 2003 ir ankstesnėse versijose. Dėl to, kad senas iostream bibliotekoje buvo pašalintas iš Visual C ++ 2003 ir vėlesnės versijos, taip pat pašalintas < useoldio.h > antraštė.
Antraštės failą < use_ansi.h > yra #pragma, priversti standartinės C ++ bibliotekos susieti. Visos standartinės C ++ antraštės yra < use_ansi.h >. Todėl jei įtrauksite visus standartinės C ++ antraštės naudojant savo programą, standartinė C ++ biblioteka susiejami pagal numatytuosius parametrus. Šioje lentelėje pateikiami visi į failų, kuriuose yra < use_ansi.h >.

Standartinė C ++ antraštės

ALGORITMASBITSETKOMPLEKSINISDEQUE
FSTREAMFUNKCINISIOMANIP"IOS"
IOSFWDIOSTREAMISTREAMITERATOR
APRIBOJIMAISĄRAŠASLOKALĖSŽEMĖLAPYJE
ATMINTIESSKAIČIŲOSTREAMEILĖ
RINKINYSSSTREAMDĖKLASSTDEXCEPT
STREAMBUFEILUTĖSTRSTREAMTYPEINFO
PRIEMONĖVALARRAYVEKTORIUSXIOSBASE
XLOCALEXLOCINFOXLOCMONXLOCNUM
XLOCTIMEXMEMORYXSTRINGXTREE
XUTILITYYMATH.H
Jūs negalite grojaraštį kvietimus į senąjį iostream bibliotekos ir naują standartinės C ++ bibliotekos Visual C ++ 4.2.
Kompiliavimo parinktisSusiję su bibliotekos
/ Ml (VC ++ .NET 2003 arba ankstesnė versija)LIBC.LIB, LIBCP.LIB
/ MLd (VC ++ .NET 2003 arba ankstesnė versija)LIBCD.LIB, LIBCPD.LIB
/MTLIBCMT.LIB, LIBCPMT.LIB
/MTdLIBCMTD.LIB, LIBCPMTD.LIB
/MDMSVCRT.LIB, MSVCPRT.LIB
/MDdMSVCRTD.LIB, MSVCPRTD.LIB

CRT DLL naudoja suvestinės lentelės

Importuoti bibliotekos susijęs suDLL naudoja (Visual C ++ 5.0 | 6.0)DLL naudoja (Visual C ++ .NET 2002 | Visual C ++ .NET 2003)DLL naudoja (Visual C ++ 2005 | Visual C ++ 2008
MSVCRT.LIBMSVCRT.DLLMSVCR7(0|1).DLLMSVCR(80|90).DLL
MSVCRTD.LIBMSVCRTD.DLLMSVCR7(0|1)D.DLLMSVCR(80|90)D.DLL
MSVCPRT.LIBMSVCP(5|6)0.DLLMSVCP7(0|1).DLLMSVCP(80|90).DLL
MSVCPRTD.LIBMSVCP(5|6)0D.DLLMSVCP7(0|1)D.DLLMSVCP(80|90)D.DLL
MSVCIRT.LIBMSVCIRT.DLL
MSVCIRTD.LIBMSVCIRTD.DLL

Nuorodos


C vykdymo laiko bibliotekoshttp://msdn.microsoft.com/en-us/library/abx4dbyh.aspxJei norite gauti papildomos informacijos, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:
154419 standartinės C ++ bibliotekos dažnai užduodami klausimai