كيفية كتابة واستخدام مكتبات C++
: دليل خطوة بخطوة
إن إنشاء واستخدام المكتبات في C++ هو مهارة أساسية للمطورين الذين يرغبون في بناء كود قابل للتعديل وإعادة الاستخدام. ستوجهك هذه المقالة خلال عملية كتابة وتجميع ودمج مكتبات C++، مع التركيز بشكل خاص على المكتبات المشتركة لكل من بيئات لينيكس وويندوز. تابع القراءة لاكتشاف أمثلة بسيطة وشروحات واضحة ستجعل هذا الموضوع سهل الفهم.
فهم مكتبات C++
ما هي مكتبات C++؟
مكتبات C++ هي مجموعات من الشيفرة المترجمة مسبقًا التي يمكنك تضمينها في مشاريعك لإعادة استخدام الوظائف دون إعادة كتابة الكود. هناك نوعان رئيسيان من المكتبات في C++:
- المكتبات الساكنة: يتم ربطها في وقت الترجمة وتصبح جزءًا من الملف التنفيذي. غالبًا ما تحمل هذه المكتبات امتداد
.a
في لينيكس و.lib
في ويندوز. - المكتبات الديناميكية: يتم ربطها في وقت التشغيل. في لينيكس، تحمل امتداد
.so
، بينما في ويندوز، الملفات المكافئة تحمل امتداد.dll
.
في هذه المقالة، سنركز على إنشاء واستخدام المكتبات الديناميكية.
إنشاء مكتبة ديناميكية في C++
الخطوة 1: كتابة كود المكتبة الخاص بك
لنبدأ بمثال بسيط. نريد إنشاء مكتبة تحتوي على دالة ستقوم بطباعة رسالة.
-
إنشاء ملف الرأس (
t.h
):void f();
-
إنشاء ملف المصدر (
t.cc
):#include <iostream> #include "t.h" void f() { std::cout << "OH HAI. I'M F." << std::endl; }
الخطوة 2: تجميع الكود في مكتبة مشتركة
الآن بعد أن أصبح لدينا كود المكتبة جاهزًا، سنقوم بتجميعه في مكتبة مشتركة. إليك كيفية القيام بذلك:
-
تجميع كود المصدر إلى كود كائن:
g++ -fpic -c t.cc # ينتج t.o
-
إنشاء المكتبة المشتركة:
g++ -shared -o t.so t.o # ينتج t.so
الخطوة 3: استخدام المكتبة في البرنامج الرئيسي
الآن، دعنا ننشئ تطبيقًا رئيسيًا سيستخدم المكتبة التي أنشأناها للتو.
- إنشاء الملف الرئيسي (
r.cc
):#include "t.h" int main() { f(); // استدعاء الدالة من المكتبة return 0; }
الخطوة 4: تجميع وربط تطبيقك مع المكتبة
لتجميع البرنامج الرئيسي مع المكتبة المشتركة، استخدم الأمر التالي:
g++ r.cc t.so -o mainApp
الخطوة 5: إعداد مسار المكتبة (لينيكس فقط)
في لينيكس، تأكد من أن البرنامج يمكنه العثور على المكتبة المشتركة أثناء التشغيل. يمكنك القيام بذلك عن طريق إعداد LD_LIBRARY_PATH
لتضمين الدليل الحالي:
export LD_LIBRARY_PATH="."
لا تحتاج إلى تنفيذ هذه الخطوة إذا قمت بتثبيت المكتبة المشتركة في دليل مكتبات عالمي.
الخطوة النهائية: تشغيل تطبيقك
بعد التجميع، يمكنك تشغيل تطبيقك:
./mainApp
يجب أن ترى الناتج:
OH HAI. I'M F.
ملخص الخطوات الرئيسية
- إنشاء ملف رأس لوظائف المكتبة الخاصة بك.
- كتابة التنفيذ في ملف مصدر.
- تجميع ملف المصدر إلى ملف كائن.
- إنشاء مكتبة مشتركة من ملف الكائن.
- كتابة تطبيق رئيسي وربطه بالمكتبة.
- تأكد من أن تطبيقك يمكنه العثور على المكتبة أثناء التشغيل.
من خلال اتباع هذه الخطوات، يمكنك إنشاء واستخدام مكتبات C++ الخاصة بك بنجاح، مما يمهد الطريق لكتابة كود منظم وقابل لإعادة الاستخدام. هذه المهارة لا تقدر بثمن لأي مطور يهدف إلى تحسين ممارساته البرمجية في C++.
الآن أنت جاهز لاستكشاف وإنشاء مكتبات ديناميكية خاصة بك في C++. برمجة ممتعة!