[Powered by Google Translate] نيت HARDISON: في البرمجة، ومكتبة عبارة عن مجموعة من
ذات الصلة رمز مكتوب مسبقا.
كيف يمكننا المكتبات، والمبرمجين، وحصة شائعة
كود مفيدة مع بعضها البعض، مع برامج مختلفة نحن
الكتابة، وحتى مع عمليات مختلفة على التوالي في
نفس الوقت على أجهزة الكمبيوتر لدينا.
>> دعونا استكشاف قليلا.
واحدة من المهام الأكثر شيوعا التي ربما كنت قد
تم استخدام هي وظيفة printf.
الآن، هو بعض من وظيفة printf لا السحر وهذا ما كان
الثابت ترميز في الكمبيوتر -
بدلا من ذلك، انها جزء من المكتبات القياسية C، والتي هي
مجموعة من الوظائف التي تأتي مع
C لغة البرمجة.
أنه ليس مبنيا printf في الكمبيوتر، وهذا يعني أن
كان هناك بعض الذين ذهبوا فعلا مبرمج وكتب في
printf وظيفة واحدة مع بقية القياسية
المكتبات بحيث المبرمجين المستقبل لن يكون ل
تكرار الجهد.
ونحن على يقين من أن نشكر هذا هو الحال، وذلك لأن تحقق
من كم يستغرق في الواقع رمز لتنفيذ printf.
>> المعيار مكتبات C، والتي هي جزء printf، هي
واحدة من أهم الأدوات التي
لديك في معالجة CS50.
بالإضافة إلى مكتبة حيث المدخلات والمخرجات
حياة printf، وهناك مجموعة من المكتبات الأخرى التي
سوف تستخدم على الارجح على مدى CS50.
على سبيل المثال، مكتبة سلسلة وظائف ل
مقارنة السلاسل C، والحصول على طولها، وسلسلة لهم.
ومكتبة الرياضيات يمنحك مفيدة
والثوابت، ومثل بي والبريد.
الآن، بالمقارنة مع المكتبات مستوى البرمجة الأخرى
لغات، مكتبات C القياسية صغيرة حقا،
ولكن لا يزال لديهم كمية كبيرة من الاشياء.
وهذا لا يعني أن المكتبات القياسية هي
فقط C المكتبات، وهناك غيرها الكثير هناك في
العالم لتتمكن من استخدامها، بما في ذلك المكتبة CS50،
مكتبات رسم الخرائط مع التشفير وفك التشفير
وظائف، وظائف المكتبات لتشفير و
تشغيل الفيديو، وهلم جرا.
>> هذا يقودنا إلى أهمية جانبا.
واحدة من المهارات الأساسية في الهندسة هو معرفة
الأدوات المتاحة في صندوق الأدوات الخاص بك بحيث يمكنك استخدام
ومنهم تجنب إعادة اختراع العجلة ما لم
لديك للقيام بذلك.
كما المبرمجين والمكتبات واحدة من أهم
أدوات لدينا.
عندما تجد نفسك تواجه مهمة شاقة أو التي يبدو
مألوفا، مثل العثور على طول سلسلة C، كنت
أن تسأل نفسك إذا كان قد يكون صحيحا أن
انها تفعل الشيء نفسه شخص من قبل.
وهناك احتمالات بأن كنت قد تجد بعض
مساعدة داخل المكتبة.
>> حتى من الناحية التقنية، ومكتبة هو ملف ثنائي
وقد تم إنتاج معا من خلال ربط مجموعة من
دعا ملفات الكائن باستخدام أداة، أنت
تفكر في ذلك، رابط.
ملفات الكائنات هي تلك ملفات الإخراج التي تحصل عند
تجميع C التعليمات البرمجية المصدر.
عندما المبرمجين كتابة المكتبات، فإنها عادة
فصل من C رمز إلى نوعين من الملفات:
ملفات رأس وملفات التنفيذ.
ويرد ملف الرأس من الاتفاقية الملف ح. الإرشاد،
وأنه يحتوي على التعليمات البرمجية التي تعلن في مكتبة
الموارد المتوفرة لتتمكن من استخدامها.
هذه الموارد تشمل وظائف، والمتغيرات، البنيات،
تعريفات نوع، وهلم جرا، ومعا، فهي
يشار إلى الواجهة.
في الواقع، إذا كنت أتساءل من أي وقت مضى ما هو في مكتبة،
الملفات رأس هي مكان للبحث.
>> على سبيل المثال، يمكنك سحب ما يصل البيرة / وتشمل / stdio.h وتحقق
من كل ما تريد معرفته عن
مكتبة الإعلام والتوعية القياسية.
هناك الكثير من الاشياء هنا، ويمكن أن يستغرق قليلا من
الوقت لويد من خلال.
ومع ذلك، جنبا إلى جنب مع صور وmanpages، وهذا هو
المكان المناسب للذهاب إذا كنت أتساءل كيف معيار I / O
وظائف مكتبة العمل.
ذلك شيء واحد أن نلاحظ هنا مفتاح، رغم ذلك، هو أن الملفات رأس
عادة لا تشمل التعاريف وظيفة -
هذا هو، وتطبيقات حقيقية لوظيفة.
هذا هو التوضيح لعلوم الكمبيوتر المهم
دعا مبدأ إخفاء المعلومات، كما يشار إليها في
أضعاف التغليف.
>> كمستخدم أو العميل من مكتبة، فإنك لا تحتاج إلى
معرفة الداخلية للمكتبة في
لاستخدامها.
تذكر رؤية printf فقط قليلا قبل؟
كنت قد رأيت من أي وقت مضى الرمز الفعلي من قبل؟
حسنا، وأفترض أن لديك لا، حتى ولو كنت قد
وقد استخدمت طن printf من المرات.
وكان كل ما كان في معرفة الحاضر تعريف الدالة
في ملف الرأس stdio.h.
على أي حال، على فوائد إخفاء المعلومات السار هو أنك
ومعزولة البرامج تكتب من أي تغييرات في
رمز لتنفيذ وظائف المكتبة.
إذا كان تنفيذ التغييرات printf، لم يكن لديك
للذهاب وتغيير كافة البرامج التي تستخدم printf.
>> أين ذلك التنفيذ تذهب؟
حسنا، مرة أخرى، من خلال الاتفاقية، وتنفيذ يذهب في
الملف مع التمديد. ملف ج.
عادة، ملفات رأس والملفات تسير جنبا تنفيذ
في متناول اليد، حتى إذا كنت قد أعلنت مجموعة من سلسلة جديدة
وظائف في mystring.h، ثم عليك تحديد كل من
هذه المهام في mystring. ج.
حتى ذلك الحين الملفات رأس والتنفيذ ثم يتم
مترجمة، إنشاء ملفات الكائن الذي ترتبط ثم
معا لإنتاج ملف مكتبة ثنائي.
فإن الكاتب مكتبة السفينة ثم ملف ثنائي على طول
مع الملفات رأس للمبرمجين الذين يريدون استخدام
المكتبة.
في هذه المرحلة، وتنفيذ ج. الملفات ليست
الحاجة، إلا إلى إعادة ترجمة مكتبة من الصفر، لذلك
كنت غالبا ما تترك هذه الطائرات.
>> لاستخدام مكتبة C، عليك أن تفعل شيئين.
أولا، يجب عليك تضمين # رأس الملفات مكتبة ولل
مصدر ملف التعليمات البرمجية حيث كنت ترغب في استخدام
مكتبة التعليمات البرمجية.
هذا بإعلام المترجم لجميع الإعلانات من
وظائف، والمتغيرات، البنيات، وهلم جرا، في الوقت الحاضر
الملفات رأس بحيث يمكن للمترجم واحد، تأكد من أن
كنت تستخدم مكتبة الموارد في الطريق الصحيح،
والثاني، إنشاء رمز التجميع المناسبة.
تبعا للمكان الذي رأس مكتبة الملفات هي
يقع، بناء الجملة # تشمل يختلف.
إذا كانت الملفات موجودة في رأس النظام في
الدليل الافتراضي تشمل -
عادة، usr/include--
ثم يتم استخدام بناء الجملة أقواس زاوية، كما في # تشمل
.
ومع ذلك، إذا كانت الملفات موجودة في نفس رأس
الدليل كما التعليمات البرمجية الخاصة بك، بناء الجملة اقتباس مزدوجة
المستخدمة، كما هو الحال في تضمين # "mylib.h".
>> الشيء الثاني ما عليك القيام به هو ربط في ثنائي
مكتبة الملف عند ترجمة التعليمات البرمجية الخاصة بك.
هذه خطوة مهمة جدا.
تذكر مناقشتنا في وقت سابق حول كيفية رأس
الملفات لا تحتوي على شفرة التنفيذ؟
إذا نسيت هذه الخطوة، سوف تحصل أخطاء حول
رموز غير معروف المشار إليها في التعليمات البرمجية.
لحل هذه، استخدم L-العلم تليها مباشرة
بدون مسافة قبل اسم المكتبة.
على العديد من أنظمة، بما في ذلك الأجهزة، ومستوى C
وترتبط تلقائيا المكتبات لك.
ومع ذلك، في بعض الأحيان يتم واحدة على حدة مكتبة الرياضيات
وربما تحتاج إلى أن ترتبط مع LM-.
على الجهاز، نحن نحرص على هذا لك، ونحن أيضا
ربط مكتبة CS50-مع lcs50.
تستطيع أن ترى كل ذلك على الأجهزة عند تشغيل إجراء.
>> الآن يجب أن يكون لديك المعرفة تحتاج إلى استخدام
المكتبات في C. استكشاف المتعة.
اسمي نيت Hardison، وهذا هو CS50.