أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

وصف الافتراضي C و C++ المكتبات التي سيتم ارتباط برنامج مع عند إنشاء باستخدام Visual C++

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية154753
الموجز
توضح هذه المقالة مكتبات الافتراضي .LIB [D] LIBC .LIB LIBCMT [D] ، .LIB LIBCI [D] ، LIBCIMT .LIB [D] ، .LIB LIBCP [D] ، LIBCPMT .LIB [D] ، .LIB MSVCRT [D] ، .LIB [D] MSVCIRT و .LIB [D] MSVCPRT سيتم ارتباط برنامج مع عند إنشاء باستخدام Visual C++.
معلومات أخرى
عند إنشاء إصدار إصدار (أو تصحيح) من المشروع في Visual C++ ، إحدى مكتبات Runtime C الأساسية (.LIB [D] LIBC و .LIB [D] LIBCMT MSVCRT[D].LIB) مرتبط بشكل افتراضي استناداً إلى الخيار المحول البرمجي الذي تختاره (<ML[d]> ترابط واحد أو <MT[d]> متعددة مؤشرات الترابط أو DLL ذات مؤشرات ترابط <MD[d]>). مكتبة من "مكتبة C++ القياسية" أو أحد من مكتبة iostream القديمة قد أيضاً يمكن ربط اعتماداً على رؤوس استخدام في التعليمات البرمجية الخاصة بك. على سبيل المثال، يجب مراعاة الحالات التالية:

حالة 1: نموذج البرنامج test1.cpp

// test1.cppvoid main(){}				
  • في حالة إنشاء test1.cpp باستخدام /ML (أو / MLd ، للحصول على بناء تصحيح) الخيار برنامج التحويل البرمجي البرنامج سيتم ارتباط LIBC.LIB (أو LIBCD.LIB للحصول على بناء التصحيح) ، بالإضافة إلى مكتبات أخرى.
    ملاحظة/ML و / MLd تم إزالة خيارات برنامج التحويل البرمجي مكتبة لمكتبات ترابط واحد ثابتة في Visual C++ 2005 وفي الإصدارات اللاحقة من Visual C++.
  • في حالة إنشاء test1.cpp باستخدام /MT (أو / MTd ، للحصول على بناء تصحيح) الخيار برنامج التحويل البرمجي البرنامج سيتم ارتباط LIBCMT.LIB (أو LIBCMTD.LIB للحصول على بناء التصحيح) ، بالإضافة إلى مكتبات أخرى.
  • في حالة إنشاء test1.cpp باستخدام /MD (أو / MDd ، للحصول على بناء تصحيح) الخيار برنامج التحويل البرمجي البرنامج سيتم ارتباط MSVCRT.LIB (أو MSVCRTD.LIB للحصول على بناء التصحيح) ، بالإضافة إلى مكتبات أخرى. في هذه الحالة، سيتم البرنامج يعتمد على MSVCRT.DLL (أو MSVCRTD.DLL للحصول على بناء debug).

حالة 2: نموذج البرنامج test2.cpp

   // test2.cpp   #include <iostream>   void main()   {   }				
  • في حالة إنشاء test2.cpp باستخدام /ML (أو / MLd ، للحصول على بناء تصحيح) برنامج التحويل البرمجي الخيار، سيتم ارتباط البرنامج LIBC.LIB (أو LIBCD.LIB للحصول على بناء التصحيح) و LIBCP.LIB (أو LIBCPD.LIB للحصول على بناء التصحيح) ، بالإضافة إلى مكتبات أخرى.
    ملاحظة/ML و / MLd تم إزالة خيارات برنامج التحويل البرمجي مكتبة لمكتبات ترابط واحد ثابتة في Visual C++ 2005 وفي الإصدارات اللاحقة من Visual C++.
  • في حالة إنشاء test2.cpp باستخدام /MT (أو / MTd ، للحصول على بناء تصحيح) برنامج التحويل البرمجي الخيار، سيتم ارتباط البرنامج LIBCMT.LIB (أو LIBCMTD.LIB للحصول على بناء التصحيح) و LIBCPMT.LIB (أو LIBCPMTD.LIB للحصول على بناء التصحيح) ، بالإضافة إلى مكتبات أخرى.
  • في حالة إنشاء باستخدام test2.cpp /MD(or /MDd, for a debug build) برنامج التحويل البرمجي الخيار، سيتم ارتباط البرنامج MSVCRT.LIB (أو MSVCRTD.LIB للحصول على بناء التصحيح) و MSVCPRT.LIB (أو MSVCPRTD.LIB للحصول على بناء التصحيح) ، بالإضافة إلى مكتبات أخرى.
    لـ Microsoft Visual C++ 2008، سيتم البرنامج يعتمد على MSVCR90.DLL MSVCP90.DLL (أو MSVCR90D.DLL و MSVCP90D.DLL للحصول على بناء debug).
    لـ Microsoft Visual C++ 2005 ، سيتم البرنامج يعتمد على MSVCR80.DLL MSVCP80.DLL (أو MSVCR80D.DLL و MSVCP80D.DLL للحصول على بناء debug).
    لـ Microsoft Visual C++ 2003، سيتم البرنامج يعتمد على MSVCR71.DLL MSVCP71.DLL (أو MSVCR71D.DLL و MSVCP71D.DLL للحصول على بناء debug).
    لـ Microsoft Visual C++ 2002، سيتم البرنامج يعتمد على MSVCR70.DLL MSVCP70.DLL (أو MSVCR70D.DLL و MSVCP70D.DLL للحصول على بناء debug).
    لـ Microsoft Visual C++ 6.0 سيتم البرنامج يعتمد على MSVCRT.DLL MSVCP60.DLL (أو MSVCRTD.DLL و MSVCP60D.DLL للحصول على بناء debug).
    سيتم تابعة MSVCRT.DLL MSVCP50.DLL (أو MSVCRTD.DLL و MSVCP50D.DLL للحصول على بناء التصحيح) البرنامج الخاص بك لـ Microsoft Visual C++ 5.0.
    لـ Microsoft Visual C++ 4.2 ، البرنامج سيتم تابعة MSVCRT.DLL (أو MSVCRTD.DLL للحصول على بناء التصحيح) و MSVCPRT.LIB (أو MSVCPRTD.LIB للحصول على بناء debug).

حالة 3: نموذج البرنامج test3.cpp

ملاحظةالملفات رأس الدفق التي لها ملحق .h (تتضمن <useoldio.h>) قد تم إهمال في Visual C++ 2002 ثم تم إزالة في Visual C++ 2005 Visual C++ 2003. لذلك، لن يعمل نموذج التالي في إصدار من Visual C++ لاحقاً Visual C++ 2002.
// test3.cpp#include <iostream.h>void main(){}				
  • في حالة إنشاء test3.cpp باستخدام /ML (أو / MLd ، للحصول على بناء تصحيح) برنامج التحويل البرمجي الخيار، سيتم ارتباط البرنامج LIBC.LIB (أو LIBCD.LIB للحصول على بناء التصحيح) و LIBCI.LIB (أو LIBCID.LIB للحصول على بناء التصحيح) ، بالإضافة إلى مكتبات أخرى.
    ملاحظة/ML و / MLd تم إزالة خيارات برنامج التحويل البرمجي مكتبة لمكتبات ترابط واحد ثابتة في Visual C++ 2005 وفي الإصدارات اللاحقة من Visual C++.
  • في حالة إنشاء test3.cpp باستخدام /MT (أو / MTd ، للحصول على بناء تصحيح) برنامج التحويل البرمجي الخيار، سيتم ارتباط البرنامج LIBCMT.LIB (أو LIBCMTD.LIB للحصول على بناء التصحيح) و LIBCIMT.LIB (أو LIBCIMTD.LIB للحصول على بناء التصحيح) ، بالإضافة إلى مكتبات أخرى.
  • في حالة إنشاء test3.cpp باستخدام /MD (أو / MDd ، للحصول على بناء تصحيح) برنامج التحويل البرمجي الخيار، سيتم ارتباط البرنامج MSVCRT.LIB (أو MSVCRTD.LIB للحصول على بناء التصحيح) و MSVCIRT.LIB (أو MSVCIRTD.LIB للحصول على بناء التصحيح) بالإضافة إلى مكتبات أخرى. في هذه الحالة، يكون البرنامج يعتمد على MSVCRT.DLL (أو MSVCRTD.DLL للحصول على بناء التصحيح) و MSVCIRT.DLL (أو MSVCIRTD.DLL للحصول على بناء debug).
رؤوس تحديد ما إذا كان سيتم ربط مكتبات C++ القياسية أو مكتبات iostream القديمة أو لا هذا ولا ذاك. تحدد الخيارات برنامج التحويل البرمجي (/ML [d] ، /MT [d]/MD [d]) في أي إصدار مكتبات ترابط واحد, متعددة مؤشرات الترابط أو DLL ذات مؤشرات ترابط متعددة تم ربطها بشكل افتراضي.

ملاحظةقد يبدو أن رؤوس بدون ملحق .h رؤوس C++ القياسية ويتم أن رؤوس بملحق .h رؤوس Runtime C أو رؤوس iostream القديم. هذا ليس صحيحاً. كما هو موضح أدناه الملفات <useoldio.h> و <use_ansi.h> تحديد مكتبات سيتم ارتباط التطبيق الخاص بك مع.

في الواقع هناك رأس ملفين ، <useoldio.h> و <use_ansi.h> ، التي تحتوي على #pragmas. فرض #pragmas مكتبة iostream القديمة أو مكتبة C++ القياسية ربطها في بشكل افتراضي.

يحتوي ملف الرأس <useoldio.h> على عبارات & # pragma فرض مرتبطة في مكتبة iostream القديم. تتضمن كافة الرؤوس iostream القديم <useoldio.h>. لذا، إذا قمت بتضمين أي رأس iostream القديم في التطبيق الخاص بك سيتم ربط مكتبة iostream القديمة بشكل افتراضي. يسرد الجدول التالي كافة الملفات رأس التي تتضمن <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>.
يحتوي ملف الرأس <use_ansi.h> على عبارات & # pragma فرض "مكتبة C++ القياسية" ربطها في. كافة "الرؤوس C++ القياسية" تتضمن <use_ansi.h>. حتى إذا قمت بتضمين أي رأس C++ القياسية في التطبيق الخاص بك سيتم ربط مكتبة C++ القياسية بشكل افتراضي. يسرد الجدول التالي كافة الملفات رأس التي تتضمن <use_ansi.h>.

رؤوس C++ القياسية

خوارزميةbitsetمركبdeque
fstreamالوظيفيةiomanipios
iosfwdiostreamistreamالتكرار
حدودقائمةالإعدادات المحليةمخطط
الذاكرةالرقميةostreamقائمة انتظار
تعيينsstreamمكدس الذاكرة المؤقتةstdexcept
streambufسلسلةstrstreamtypeinfo
الأداة المساعدةvalarrayخط متجهxiosbase
xlocalexlocinfoxlocmonxlocnum
xloctimexmemoryxstringxtree
xutilityymath.h
لا يمكن خلط المكالمات إلى مكتبة iostream القديمة "و" مكتبة C++ القياسية جديدة في 4.2 Visual C++.
ترجمة الخيارمكتبات المرتبطة بـ
/ML (VC ++ .NET 2003 والإصدارات السابقة)LIBC.LIB libcp.lib
/ MLd (VC ++ .NET 2003 والإصدارات السابقة)LIBCD.LIB libcpd.lib
/mtLIBCMT.LIB libcpmt.lib
/ MTdLIBCMTD.LIB libcpmtd.lib
/mdMSVCRT.LIB msvcprt.lib
/ MDdMSVCRTD.LIB msvcprtd.lib

جدول ملخص لـ DLL CRT المستخدمة

استيراد مكتبة المرتبطة بـاستخدام DLLs (5.0|6.0 Visual C++)استخدام DLLs (Visual C++ .NET 2002|Visual C++ .NET 2003)DLLs المستخدمة (C++ 2005|Visual 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 0D.DLL MSVCP (5|6) 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++ القياسية
MSVCRT.DLL MSVCIRT.DLL MSVCPRT.LIB LIBCI.LIB LIBCIMT.LIB MSVCR LIBCPMT.LIB LIBCP.LIB msvcp

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 154753 - آخر مراجعة: 03/19/2008 23:15:38 - المراجعة: 7.1

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 Professional Edition, Microsoft Visual C++ 4.2 Enterprise Edition

  • kbmt kbarttypeinf kbcompiler kbinfo kblangcpp KB154753 KbMtar
تعليقات
dy>/html>ipt" async=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" amp;did=1&t=">l-xs-24 ng-scope"> 대한민국 - 한국어
España - Español
Paraguay - Español
Venezuela - Español
/c1.microsoft.com/c.gif?DI=4050&did=1&t=">ript' src='" + (window.location.protocol) + "//c.microsoft.com/ms.js'><\/script>"); 0&did=1&t=">"> did=1&t=">