Περιγραφή των βιβλιοθηκών c και C++ προεπιλεγμένη που θα συνδέσετε ένα πρόγραμμα με όταν δημιουργηθεί χρησιμοποιώντας τη Visual C++

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 154753 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο περιγράφει τις προεπιλεγμένες βιβλιοθήκες LIBC [Δ].LIB, [D] LIBCMT.LIB [D] LIBCI.LIB [D] LIBCIMT.LIB [D] LIBCP.LIB [D] LIBCPMT.LIB, [D] MSVCRT.LIB [D] MSVCIRT.LIB και [D] MSVCPRT.LIB που θα συνδέσετε ένα πρόγραμμα με Όταν δημιουργηθεί χρησιμοποιώντας τη Visual C++.

Περισσότερες πληροφορίες

Όταν δημιουργήσετε μια έκδοση (ή εντοπισμού σφαλμάτων) έκδοση του έργου σας σε Visual C++ ένα βασικό βιβλιοθήκες χρόνου εκτέλεσης C (LIBC [D].LIB, [D] LIBCMT.LIB και [D] MSVCRT.LIB) συνδέεται από προεπιλογή, ανάλογα με το επιλέξετε την επιλογή μεταγλωττιστή (μονού νήματος <ml[d]>πολλαπλών νημάτων <mt[d]>, ή πολλαπλών νημάτων DLL<md[d]>). Μια βιβλιοθήκη από το πρότυπο Βιβλιοθήκη C++ ή από την παλιά βιβλιοθήκη iostream μπορεί επίσης να συνδέεται αναλόγως στις κεφαλίδες χρησιμοποιήσετε στον κώδικά σας. Για παράδειγμα, εξετάστε τις ακόλουθες περιπτώσεις: <b00></b00></md[d]></mt[d]></ml[d]>

Περίπτωση 1: Δείγμα προγράμματος test1.cpp

// test1.cpp
void main()
{
}
				
  • Εάν κατασκευάζετε test1.cpp χρησιμοποιώντας το /ML/ MLd, για εντολές debug επιλογή μεταγλωττιστή build), το πρόγραμμα θα συνδέσει με LIBC.LIB (ή LIBCD.LIB, για εντοπισμός σφαλμάτων build), επιπλέον προς άλλες βιβλιοθήκες.
    ΣΗΜΕΙΩΣΗ Το /ML AND / MLd Επιλογές μεταγλωττιστή βιβλιοθήκης για στατικές βιβλιοθήκες μονού νήματος καταργήθηκαν Visual C++ 2005 και σε νεότερες εκδόσεις του Visual C++.
  • Εάν κατασκευάζετε test1.cpp χρησιμοποιώντας το /MT/ ΜΑΔγια μια κατασκευή εντοπισμού σφαλμάτων) επιλογή μεταγλωττιστή, το πρόγραμμα θα συνδέσει με LIBCMT.LIB (ή LIBCMTD.LIB, για build εντοπισμού σφαλμάτων), επιπλέον προς άλλες βιβλιοθήκες.
  • Εάν κατασκευάζετε test1.cpp χρησιμοποιώντας το /MD/ MDdγια μια κατασκευή εντοπισμού σφαλμάτων) επιλογή μεταγλωττιστή, το πρόγραμμα θα συνδέσει με MSVCRT.LIB (ή MSVCRTD.LIB, για build εντοπισμού σφαλμάτων), επιπλέον προς άλλες βιβλιοθήκες. Στην περίπτωση αυτή, το πρόγραμμα θα εξαρτάται από την MSVCRT.DLL (ή MSVCRTD.DLL για εντοπισμός σφαλμάτων build).

Περίπτωση 2: Δείγμα προγράμματος test2.cpp

   // test2.cpp
   #include <iostream>
   void main()
   {
   }
				
  • Εάν κατασκευάζετε test2.cpp χρησιμοποιώντας το /ML/ MLdγια μια κατασκευή εντοπισμού σφαλμάτων) επιλογή μεταγλωττιστή, το πρόγραμμα θα συνδέσει με LIBC.LIB (ή LIBCD.LIB για build εντοπισμού σφαλμάτων) και LIBCP.LIB (ή LIBCPD.LIB, για εντοπισμός σφαλμάτων build), επιπλέον προς άλλες βιβλιοθήκες.
    ΣΗΜΕΙΩΣΗ Το /ML AND / MLd Επιλογές μεταγλωττιστή βιβλιοθήκης για στατικές βιβλιοθήκες μονού νήματος καταργήθηκαν Visual C++ 2005 και σε νεότερες εκδόσεις του Visual C++.
  • Εάν κατασκευάζετε test2.cpp χρησιμοποιώντας το /MT/ ΜΑΔγια μια κατασκευή εντοπισμού σφαλμάτων) επιλογή μεταγλωττιστή, το πρόγραμμα θα συνδέσει με LIBCMT.LIB (ή LIBCMTD.LIB για build εντοπισμού σφαλμάτων) και LIBCPMT.LIB (ή LIBCPMTD.LIB, για εντοπισμό σφαλμάτων δημιουργίας), μαζί με άλλες βιβλιοθήκες.
  • Εάν κατασκευάζετε test2.cpp χρησιμοποιώντας το /MD / MDd, για εντολές debug επιλογή μεταγλωττιστή build), το πρόγραμμα θα συνδέσει με MSVCRT.LIB (ή MSVCRTD.LIB, για εντοπισμό σφαλμάτων build) και MSVCPRT.LIB (ή MSVCPRTD.LIB για build εντοπισμού σφαλμάτων), στο εκτός από άλλες βιβλιοθήκες.
    Για το Microsoft Visual C++ 2008, το πρόγραμμα θα εξαρτάται από την MSVCR90.DLL και MSVCP90.DLL (ή MSVCR90D.DLL και MSVCP90D.DLL για build εντοπισμού σφαλμάτων).
    Για το Microsoft Visual C++ 2005, το πρόγραμμα θα εξαρτάται σε MSVCR80.DLL και MSVCP80.DLL (ή MSVCR80D.DLL και MSVCP80D.DLL για εντοπισμό σφαλμάτων Build).
    Για το Microsoft Visual C++ 2003, το πρόγραμμα θα εξαρτάται σε MSVCR71.DLL και MSVCP71.DLL (ή MSVCR71D.DLL και MSVCP71D.DLL για εντοπισμό σφαλμάτων Build).
    Για το Microsoft Visual C++ 2002, το πρόγραμμα θα εξαρτάται σε MSVCR70.DLL και MSVCP70.DLL (ή MSVCR70D.DLL και MSVCP70D.DLL για εντοπισμό σφαλμάτων Build).
    Για το Microsoft Visual C++ 6.0, το πρόγραμμα θα εξαρτάται σε MSVCRT.DLL και MSVCP60.DLL (ή MSVCRTD.DLL και MSVCP60D.DLL για εντοπισμό σφαλμάτων Build).
    Για το Microsoft Visual C++ 5.0, το πρόγραμμα θα εξαρτάται από την MSVCRT.DLL και MSVCP50.DLL (ή MSVCRTD.DLL και MSVCP50D.DLL για build εντοπισμού σφαλμάτων).
    Για το Microsoft Visual C++ 4.2, το πρόγραμμα θα εξαρτάται από την MSVCRT.DLL (ή MSVCRTD.DLL για εντοπισμό σφαλμάτων Δόμηση) και MSVCPRT.LIB (ή MSVCPRTD.LIB, για build εντοπισμού σφαλμάτων).

Περίπτωση 3: Δείγμα προγράμματος test3.cpp

ΣΗΜΕΙΩΣΗ Τα αρχεία κεφαλίδας ροή που έχουν την επέκταση .h (περιλαμβάνουν <useoldio.h>) έχουν εκπέσει Visual C++ 2002 και έχουν καταργηθεί Visual C++ 2005 και Visual C++ 2003. Επομένως, το ακόλουθο δείγμα δεν θα λειτουργήσει σε μια έκδοση του Visual C++ αργότερα Visual C++ 2002.<b00></b00></useoldio.h>
// test3.cpp
#include <iostream.h>
void main()
{
}
				
  • Εάν κατασκευάζετε test3.cpp χρησιμοποιώντας το /ML/ MLdγια μια κατασκευή εντοπισμού σφαλμάτων) επιλογή μεταγλωττιστή, το πρόγραμμα θα συνδέσει με LIBC.LIB (ή LIBCD.LIB για build εντοπισμού σφαλμάτων) και LIBCI.LIB (ή LIBCID.LIB, για εντοπισμός σφαλμάτων build), επιπλέον προς άλλες βιβλιοθήκες.
    ΣΗΜΕΙΩΣΗ Το /ML AND / MLd Επιλογές μεταγλωττιστή βιβλιοθήκης για στατικές βιβλιοθήκες μονού νήματος καταργήθηκαν Visual C++ 2005 και σε νεότερες εκδόσεις του Visual C++.
  • Εάν κατασκευάζετε test3.cpp χρησιμοποιώντας το /MT/ ΜΑΔγια μια κατασκευή εντοπισμού σφαλμάτων) επιλογή μεταγλωττιστή, το πρόγραμμα θα συνδέσει με LIBCMT.LIB (ή LIBCMTD.LIB για build εντοπισμού σφαλμάτων) και LIBCIMT.LIB (ή LIBCIMTD.LIB, για εντοπισμό σφαλμάτων δημιουργίας), μαζί με άλλες βιβλιοθήκες.
  • Εάν κατασκευάζετε test3.cpp χρησιμοποιώντας το /MD/ MDdγια μια κατασκευή εντοπισμού σφαλμάτων) επιλογή μεταγλωττιστή, το πρόγραμμα θα συνδέσει με MSVCRT.LIB (ή MSVCRTD.LIB για build εντοπισμού σφαλμάτων) και MSVCIRT.LIB (ή MSVCIRTD.LIB, για εντοπισμό σφαλμάτων build) μαζί με άλλες βιβλιοθήκες. Στην περίπτωση αυτή, το πρόγραμμα σας θα εξαρτάται από την MSVCRT.DLL (ή MSVCRTD.DLL για build εντοπισμού σφαλμάτων) και MSVCIRT.DLL (ή MSVCIRTD.DLL για build εντοπισμού σφαλμάτων).
Κεφαλίδες καθορίζουν αν C++ τυπικές βιβλιοθήκες, παλιά βιβλιοθήκες iostream ή δεν θα είναι συνδεδεμένο. (Επιλογές μεταγλωττιστή/ML [d], /MT [d], /MD [d]) προσδιορισμού της έκδοσης των βιβλιοθηκών μονού νήματος, DLL πολλαπλών νημάτων ή πολλαπλών νημάτων είναι να συνδεθεί από προεπιλογή.

ΣΗΜΕΙΩΣΗ Φαίνεται ότι οι κεφαλίδες χωρίς επέκταση .h είναι τυπική Οι κεφαλίδες C++ και κεφαλίδες που με επέκταση .h είναι κεφαλίδες χρόνου εκτέλεσης c ή παλιό iostream κεφαλίδες. Αυτό δεν ισχύει. Όπως εξηγείται κατωτέρω, τα αρχεία <useoldio.h> και <use_ansi.h> καθορίζουν τις βιβλιοθήκες σας εφαρμογή θα συνδέσει με.<b00></b00></use_ansi.h></useoldio.h>

Πράγματι, υπάρχουν δύο αρχεία κεφαλίδας, <useoldio.h> και <use_ansi.h>, που περιέχουν #pragmas. Το #pragmas επιβάλλει την παλιά βιβλιοθήκη iostream ή βιβλιοθήκη C++ τυπικά να συνδεθεί στο από προεπιλογή.<b00></b00></use_ansi.h></useoldio.h>

Αρχείο κεφαλίδων <useoldio.h> περιέχει # Pragma προτάσεις που επιβάλλει την παλιά βιβλιοθήκη iostream να συνδεθούν στο. Όλα τα παλιά iostream κεφαλίδες περιλαμβάνουν <useoldio.h>. Συνεπώς, εάν συμπεριλάβετε οποιαδήποτε παλιό iostream κεφαλίδα στην εφαρμογή σας, την παλιά βιβλιοθήκη iostream θα είναι συνδεδεμένο με προεπιλογή. Ο παρακάτω πίνακας παραθέτει όλα τα αρχεία κεφαλίδας που περιλαμβάνουν <useoldio.h>.<b00></b00></useoldio.h></useoldio.h></useoldio.h>

Παλιό iostream κεφαλίδες

Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
FSTREAM.HIOMANIP.H
IOS.HIOSTREAM.H
ISTREAM.HOSTREAM.H
STDIOSTR.HSTREAMB.H
STRSTREA.H
ΣΗΜΕΙΩΣΗ <useoldio.h>ισχύει μόνο για Visual C++.NET 2003 και προηγούμενες εκδόσεις. Επειδή καταργήθηκε την παλιά βιβλιοθήκη iostream από το Visual C++ 2003 και νεότερες εκδόσεις, το <useoldio.h> κεφαλίδα επίσης καταργήθηκε.</useoldio.h></useoldio.h>
Αρχείο κεφαλίδων <use_ansi.h> περιέχει δηλώσεις # Pragma που επιβάλλει η τυπική βιβλιοθήκη C++ συνδέονται στο. Όλες οι τυπικές κεφαλίδες C++ περιλαμβάνουν <use_ansi.h>. Έτσι, εάν συμπεριλάβετε οποιαδήποτε κεφαλίδα τυπική C++ σε σας εφαρμογή βιβλιοθήκη C++ που τυπικά θα συνδεθεί από προεπιλογή. Το ακόλουθο πίνακας παραθέτει όλα τα αρχεία κεφαλίδας που περιλαμβάνουν <use_ansi.h>.<b00></b00></use_ansi.h></use_ansi.h></use_ansi.h>

Τυπικές κεφαλίδες C++

Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
ΑΛΓΌΡΙΘΜΟΣBITSETΜΙΓΑΔΙΚΌΣDEQUE
FSTREAMΛΕΙΤΟΥΡΓΙΚΉIOMANIPIOS
IOSFWDIOSTREAMISTREAMΕΠΑΝΑΛΉΠΤΗ
ΌΡΙΑΛΊΣΤΑΤΟΠΙΚΈΣ ΡΥΘΜΊΣΕΙΣΧΆΡΤΗΣ
ΜΝΉΜΗΑΡΙΘΜΗΤΙΚΌOSTREAMΟΥΡΆ
ΣΎΝΟΛΟSSTREAMΣΤΟΊΒΑSTDEXCEPT
STREAMBUFΣΥΜΒΟΛΟΣΕΙΡΆSTRSTREAMTYPEINFO
ΒΟΗΘΗΤΙΚΌ ΠΡΌΓΡΑΜΜΑVALARRAYΔΙΆΝΥΣΜΑXIOSBASE
XLOCALEXLOCINFOXLOCMONXLOCNUM
XLOCTIMEXMEMORYXSTRINGΤΑ ΠΡΟΪΌΝΤΑ
XUTILITYYMATH.H
Δεν μπορείτε να συνδυάσετε κλήσεις προς την παλιά βιβλιοθήκη iostream και το νέο Τυπική βιβλιοθήκη C++ σε Visual C++ 4.2.
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
Μεταγλώττιση επιλογήΣυνδέεται με βιβλιοθήκες
/ML (VC ++.NET 2003 και προηγούμενες)LIBC.LIB LIBCP.LIB
/ MLd (VC ++.NET 2003 και προηγούμενες)LIBCD.LIB LIBCPD.LIB
/MTLIBCMT.LIB LIBCPMT.LIB
/ ΜΑΔLIBCMTD.LIB LIBCPMTD.LIB
/MDMSVCRT.LIB MSVCPRT.LIB
/ MDdMSVCRTD.LIB MSVCPRTD.LIB

Πίνακα σύνοψης για CRT dll που χρησιμοποιείται

Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
Εισαγωγή βιβλιοθήκης που συνδέονται με DLL χρησιμοποιούνται (Visual C++ 5.0|6.0) DLL που χρησιμοποιούνται (Visual C++.NET 2002|Visual C++.NET 2003) DLL που χρησιμοποιούνται (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

Αναφορές

Βιβλιοθήκες χρόνου εκτέλεσης c
http://MSDN.Microsoft.com/en-us/library/abx4dbyh.aspxΓια πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
154419Τυπική βιβλιοθήκη C++, συνήθεις ερωτήσεις

Ιδιότητες

Αναγν. άρθρου: 154753 - Τελευταία αναθεώρηση: Πέμπτη, 26 Μαΐου 2011 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • 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
Λέξεις-κλειδιά: 
kbarttypeinf kbcompiler kbinfo kblangcpp kbmt KB154753 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:154753

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com