واحدة بامتداد والأخرى من غير امتداد .....؟ فما هو الفرق ..؟
للذين لايعرفون الفرق إليكم بهذه المعلومة ..
طبعا كلنا نعلم بوجود مكتبة السي++ القياسية أو Standard C++ Library . يوجد من هذه المكتبة نسختين واحدة قديمة والاخرى حديثة . القدية ظهرت مع ظهور السي++ . وكانت تحتوي على القليل من الClasses من أهمهم ال iostream و fstream و .... . ومع زيادة المتطلبات وظهور ال STL (Standard Template Library) . تم اصدار نسخة جديدة من مكتبة السي++ القياسية ..
فمن أجل أن تفرق في مابينهم في الفيجوال سي++ : إذا أردت استخدام القديمة أكتب أسماء الملفات مع ذكر الامتداد والجديدة اكتبهم من غير امتداد ..
طبعا سوف تختلف المكتبة التي سوف يربط معاها برنامجك ، ففي حالة الربط الديناميكي فسوف تستخدم هذه المكتبات :
MSVCRT.DLL : في حالة مكتبة السي القياسية .
MSCVIRT.DLL : في حالة مكتبة السي ++ القياسية القديمة .
MCVCPRT.DLL : في حالة مكتبة السي ++ القياسية الجديدة .
ولكن يحب أن ننتبه إلى موضوع وهو أنه عندما نكتب فإن المترجم يحولها إلى :
#include namespace std {}وبالتالي فإن جميع التعريفات والتصريحات دخل المكتبة سوف تكون داخل ال std scope وبالتالي يجب أن تكتب التالي من أجل الطباعة مثلا :
std::cout :)