سؤال

وأنا متأكد من تم حل هذه المشكلة من قبل وأنا الغريب كيفية القيام به. لدي كود فيه، عند تشغيله، وأريد أن تفحص محتويات الدليل وتحميل في الوظيفة.

وعلى وجه التحديد، وأنا أعمل مع محرك البرمجة التي أريد أن تكون قادرة على إضافة وظيفة يدعو ل. أريد أن المحرك الأساسي لتوفير وظائف محدودة للغاية. يجب أن يكون المستخدم قادرا على إضافة وظائف إضافية من خلال مكتبات 3rd الطرف الذي أريد المحرك بالبحث عن والحمولة. كيف يتم ذلك؟

هل كانت مفيدة؟

المحلول

وهذا يعتمد على المنصة. على Win32، يمكنك استدعاء LoadLibrary لتحميل DLL، ثم الحصول على وظائف منه مع GetProcAddress. على منصات Unixy، وحكمه هي dlopen وdlsym.

نصائح أخرى

ويمكنك استخدام POSIX dlopen / dlsym / dlerror / وظائف dlclose في لينكس / يونكس لفتح مكتبات المشتركة حيوي والوصول إلى حرف (بما في ذلك وظائف) التي تقدمها، نرى في الصفحة رجل للحصول على مزيد من التفاصيل.

إذا كنت ترغب في استخدام المكتبة لهذا، أود أن أوصى الخصلة (مكتبة الأداة التي تقع تحت أدوات GTK + UI). ومن ميزات " GModule " API-جنوب، والتي توفر، بطريقة نظيفة المحمولة للقيام بذلك. وهذا يوفر لكم من الاضطرار إلى التفاف المكالمات ذات الصلة نفسك، وأيضا يجلب لك بقية الخصلة التي هي <م> جدا متناول اليد لديك في برامج C من أي حجم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top