ID Artikel: 154753 - Kajian Terakhir: 15 September 2011 - Revisi: 2.0

Deskripsi dari standar c dan c + + perpustakaan yang program akan menghubungkan dengan ketika dibangun dengan menggunakan Visual C++

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini menjelaskan perpustakaan default LIBC [D].LIB, LIBCMT [D].LIB, LIBCI [D].LIB, LIBCIMT [D].LIB, LIBCP [D].LIB, LIBCPMT [D].LIB, MSVCRT [D].LIB, MSVCIRT [D].LIB, dan MSVCPRT [D].LIB bahwa program akan menghubungkan dengan ketika dibangun menggunakan Visual C++.

INFORMASI LEBIH LANJUT

Ketika Anda membangun versi rilis (atau debug) proyek Anda in Visual C++, salah satu perpustakaan C Runtime dasar (LIBC [D].LIB, LIBCMT [D].LIB, dan MSVCRT [D].LIB) terhubung secara default, tergantung pada kompiler pilihan Anda memilih (single-threaded <ml[d]>, multithreaded <mt[d]>, atau multithreaded DLL<md[d]>). Sebuah perpustakaan dari standar Pustaka C++ atau salah satu dari perpustakaan iostream tua mungkin juga dapat dihubungkan tergantung pada header Anda menggunakan kode Anda. Sebagai contoh, perhatikan kasus berikut: <b00></b00></md[d]></mt[d]></ml[d]>

Kasus 1: Contoh program test1.cpp

// test1.cpp
void main()
{
}
				
  • Jika Anda membangun test1.cpp menggunakan /ML (atau / MLd, untuk debug pilihan kompiler membangun), program Anda akan menghubungkan dengan LIBC.LIB (atau LIBCD.LIB, untuk debug membangun), selain untuk perpustakaan lain.
    Catatan The /ML dan / MLd opsi kompiler perpustakaan untuk statis single-threaded perpustakaan dihilangkan dalam Visual C++ 2005 dan di versi Visual C++.
  • Jika Anda membangun test1.cpp menggunakan /MT (atau / MTduntuk membangun debug) opsi kompiler, program Anda akan menghubungkan dengan LIBCMT.LIB (atau LIBCMTD.LIB, untuk membangun debug), selain untuk perpustakaan lain.
  • Jika Anda membangun test1.cpp menggunakan /MD (atau / MDduntuk membangun debug) opsi kompiler, program Anda akan menghubungkan dengan MSVCRT.LIB (atau MSVCRTD.LIB, untuk membangun debug), selain untuk perpustakaan lain. Dalam kasus ini, program Anda akan bergantung pada MSVCRT.DLL (atau MSVCRTD.DLL untuk debug membangun).

Kasus 2: Contoh program test2.cpp

   // test2.cpp
   #include <iostream>
   void main()
   {
   }
				
  • Jika Anda membangun test2.cpp menggunakan /ML (atau / MLduntuk membangun debug) opsi kompiler, program Anda akan menghubungkan dengan LIBC.LIB (atau LIBCD.LIB, untuk membangun debug) dan LIBCP.LIB (atau LIBCPD.LIB, untuk debug membangun), selain untuk perpustakaan lain.
    Catatan The /ML dan / MLd opsi kompiler perpustakaan untuk statis single-threaded perpustakaan dihilangkan dalam Visual C++ 2005 dan di versi Visual C++.
  • Jika Anda membangun test2.cpp menggunakan /MT (atau / MTduntuk membangun debug) opsi kompiler, program Anda akan menghubungkan dengan LIBCMT.LIB (atau LIBCMTD.LIB, untuk membangun debug) dan LIBCPMT.LIB (atau LIBCPMTD.LIB, untuk debug membangun), selain untuk perpustakaan lain.
  • Jika Anda membangun test2.cpp menggunakan /MD (atau / MDd, untuk debug pilihan kompiler membangun), program Anda akan menghubungkan dengan MSVCRT.LIB (atau MSVCRTD.LIB, untuk debug membangun) dan MSVCPRT.LIB (atau MSVCPRTD.LIB, untuk membangun debug), Selain perpustakaan lain.
    Untuk Microsoft Visual c ++ 2008, program Anda akan bergantung pada MSVCR90.DLL dan MSVCP90.DLL (atau MSVCR90D.DLL dan MSVCP90D.DLL untuk membangun debug).
    Untuk Microsoft Visual C++ 2005, program Anda akan tergantung pada MSVCR80.DLL dan MSVCP80.DLL (atau MSVCR80D.DLL dan MSVCP80D.DLL untuk debug membangun).
    Untuk Microsoft Visual C++ 2003, program Anda akan tergantung pada MSVCR71.DLL dan MSVCP71.DLL (atau MSVCR71D.DLL dan MSVCP71D.DLL untuk debug membangun).
    Microsoft Visual c ++ 2002, program Anda akan tergantung pada MSVCR70.DLL dan MSVCP70.DLL (atau MSVCR70D.DLL dan MSVCP70D.DLL untuk debug membangun).
    Untuk Microsoft Visual C++ 6.0, program Anda akan tergantung pada MSVCRT.DLL dan MSVCP60.DLL (atau MSVCRTD.DLL dan MSVCP60D.DLL untuk debug membangun).
    Untuk Microsoft Visual C++ 5.0, program Anda akan bergantung pada MSVCRT.DLL dan MSVCP50.DLL (atau MSVCRTD.DLL dan MSVCP50D.DLL untuk membangun debug).
    Untuk Microsoft Visual C++ 4.2, program Anda akan bergantung pada MSVCRT.DLL (atau MSVCRTD.DLL untuk debug membangun) dan MSVCPRT.LIB (atau MSVCPRTD.LIB, untuk membangun debug).

Kasus 3: Contoh program test3.cpp

Catatan File header streaming yang memiliki ekstensi .h (termasuk <useoldio.h>) juga ditinggalkan di Visual C++ 2002 dan telah dihapus dalam Visual C++ 2005 dan Visual C++ 2003. Oleh karena itu, contoh berikut tidak akan bekerja dalam versi Visual C++ kemudian daripada Visual C++ 2002.<b00></b00></useoldio.h>
// test3.cpp
#include <iostream.h>
void main()
{
}
				
  • Jika Anda membangun test3.cpp menggunakan /ML (atau / MLduntuk membangun debug) opsi kompiler, program Anda akan menghubungkan dengan LIBC.LIB (atau LIBCD.LIB, untuk membangun debug) dan LIBCI.LIB (atau LIBCID.LIB, untuk debug membangun), selain untuk perpustakaan lain.
    Catatan The /ML dan / MLd opsi kompiler perpustakaan untuk statis single-threaded perpustakaan dihilangkan dalam Visual C++ 2005 dan di versi Visual C++.
  • Jika Anda membangun test3.cpp menggunakan /MT (atau / MTduntuk membangun debug) opsi kompiler, program Anda akan menghubungkan dengan LIBCMT.LIB (atau LIBCMTD.LIB, untuk membangun debug) dan LIBCIMT.LIB (atau LIBCIMTD.LIB, untuk debug membangun), selain untuk perpustakaan lain.
  • Jika Anda membangun test3.cpp menggunakan /MD (atau / MDduntuk membangun debug) opsi kompiler, program Anda akan menghubungkan dengan MSVCRT.LIB (atau MSVCRTD.LIB, untuk membangun debug) dan MSVCIRT.LIB (atau MSVCIRTD.LIB, untuk debug membangun) Selain untuk perpustakaan lain. Dalam kasus ini, program Anda akan tergantung pada MSVCRT.DLL (atau MSVCRTD.DLL untuk membangun debug) dan MSVCIRT.DLL (atau MSVCIRTD.DLL untuk membangun debug).
Header menentukan apakah pustaka Standard C++, tua IOStream perpustakaan, atau tidak akan dihubungkan. Kompiler pilihan)/ML [d], /MT [d], /MD [d]) menentukan versi perpustakaan single-threaded, multithreaded, atau multithreaded DLL adalah untuk dapat dihubungkan secara default.

Catatan Kelihatannya bahwa header tanpa ekstensi .h adalah standar C++ header dan bahwa header dengan ekstensi .h adalah C Runtime header atau lama iostream header. Hal ini tidak benar. Seperti yang dijelaskan di bawah ini, file <useoldio.h>dan <use_ansi.h>yang menentukan perpustakaan Anda aplikasi akan menghubungkan dengan.<b00></b00></use_ansi.h></useoldio.h>

Sebenarnya, ada dua file header, <useoldio.h>dan <use_ansi.h>, yang berisi #pragmas. #Pragmas memaksa perpustakaan iostream tua atau pustaka C++ standar untuk dihubungkan dalam secara default.<b00></b00></use_ansi.h></useoldio.h>

Header file <useoldio.h>berisi c++ pernyataan, yang memaksa perpustakaan iostream tua dihubungkan di. Semua tua IOStream header termasuk <useoldio.h>. Jadi, jika Anda memasukkan setiap lama IOStream header di aplikasi Anda, perpustakaan iostream tua akan terhubung dengan default. Tabel berikut mencantumkan semua file header yang mencakup <useoldio.h>.<b00></b00></useoldio.h></useoldio.h></useoldio.h>

Lama iostream header

Perkecil tabel iniPerbesar tabel ini
FSTREAM.HIOMANIP.H
IOS.HIOSTREAM.H
ISTREAM.HOSTREAM.H
STDIOSTR.HSTREAMB.H
STRSTREA.H
Catatan <useoldio.h>hanya berlaku untuk Visual C++.NET 2003 dan versi sebelumnya. Karena perpustakaan iostream tua telah dihapus dari Visual C++ 2003 dan versi yang lebih baru, <useoldio.h>header juga dihapus.</useoldio.h></useoldio.h>
Header file <use_ansi.h>berisi pernyataan c++ yang memaksa pustaka C++ standar untuk dihubungkan di. Semua standar C++ header termasuk <use_ansi.h>. Jadi, jika Anda menyertakan header C++ standar apapun dalam Anda aplikasi, pustaka C++ standar akan terhubung secara default. Berikut Tabel mencantumkan semua file header yang mencakup <use_ansi.h>.<b00> </b00> </use_ansi.h> </use_ansi.h> </use_ansi.h>

Standar c ++ header

Perkecil tabel iniPerbesar tabel ini
ALGORITMABITSETKOMPLEKSDEQUE
FSTREAMFUNGSIONALIOMANIPIOS
IOSFWDIOSTREAMISTREAMITERATOR
BATASDAFTARLOKALPETA
MEMORINUMERIKOSTREAMANTRIAN
SETSSTREAMTUMPUKANSTDEXCEPT
STREAMBUFSTRINGSTRSTREAMTYPEINFO
UTILITASVALARRAYVEKTORXIOSBASE
XLOCALEXLOCINFOXLOCMONXLOCNUM
XLOCTIMEXMEMORYXSTRINGXTREE
XUTILITYYMATH.H
Anda tidak dapat mencampur panggilan ke perpustakaan iostream lama dan baru Standar pustaka C++ in Visual C++ 4.2.
Perkecil tabel iniPerbesar tabel ini
Kompilasi pilihanPerpustakaan yang terkait dengan
/ML (VC ++.NET 2003 dan sebelumnya)LIBC.LIB, LIBCP.LIB
/ MLd (VC ++.NET 2003 dan sebelumnya)LIBCD.LIB, LIBCPD.LIB
/MTLIBCMT.LIB, LIBCPMT.LIB
/ MTdLIBCMTD.LIB, LIBCPMTD.LIB
/MDMSVCRT.LIB, MSVCPRT.LIB
/ MDdMSVCRTD.LIB, MSVCPRTD.LIB

Tabel ringkasan untuk CRT dll digunakan

Perkecil tabel iniPerbesar tabel ini
Impor perpustakaan dihubungkan dengan Dll digunakan (Visual C++ 5.0|6.0) Dll digunakan (Visual C++.NET 2002|Visual C++.NET 2003) Dll digunakan (Visual C++ 2005|Visual c ++ 2008
MSVCRT.LIB MSVCRT.DLL MSVCR7(0|1).DLL MSVCR(80|90).DLL
MSVCRTD.LIB MSVCRTD.DLL MSVCR7 (0|1) D.DLL MSVCR (80|90) D.DLL
MSVCPRT.LIB 0.DLL MSVCP (5|6) MSVCP7(0|1).DLL MSVCP(80|90).DLL
MSVCPRTD.LIB MSVCP (5|6) 0 D.DLL MSVCP7 (0|1) D.DLL MSVCP (80|90) D.DLL
MSVCIRT.LIB MSVCIRT.DLL
MSVCIRTD.LIB MSVCIRTD.DLL

REFERENSI

C Run-Time perpustakaan
http://MSDN.Microsoft.com/en-us/library/abx4dbyh.aspx (http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx) Untuk informasi tambahan, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
154419  (http://support.microsoft.com/kb/154419/ ) Standar pustaka C++ pertanyaan yang sering diajukan

Berlaku bagi:
  • Microsoft Visual C++ 2008 Express Edition
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 4.2 Enterprise Edition
Kata kunci: 
kbarttypeinf kbcompiler kbinfo kblangcpp kbmt KB154753 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:154753  (http://support.microsoft.com/kb/154753/en-us/ )