معرفی کتابخانه c-pluff

خرید بک لینک

کتابخانه c-pluff یک فریمورک افزونه (پلاگین) و مختص برنامه نویسی c است. تمرکز cpluff بر ارائه سرویسهای برای تعامل و مدیریت افزونه در برنامه اصلی است. cpluff فریمورکی خنثی فراهم کرده که از تغییرات پویا در پیکربندی افزونه درحین اجرای کاربرد یا فریمورک پشتیبانی میکند.

معماری افزونه cpluff و تعاملات آن در شکل زیر نشان داده شده است. برنامه اصلی، کنترل فریمورک افزونه را انجام میدهد. برنامه اصلی مسئول مقدار دهی اولیه، setup فریمورک افزونه و بارگذاری مجموعه دلخواهی از افزونهها است. برنامه اصلی ترجیحا سبک باید باشد، در واقع فقط نقش بارکننده افزونه را دارد.

بیشتر کاربردها شامل افزونههای که مستقل و از قبل طراحی شده هستند. یک برنامه کاربردی میتواند از افزونههای توزیع شده استفاده کند درحالی که سبکی برنامه خود را حفظ کرده باشد. برای توسعه برنامه کاربردی از مجموعه افزونهها استفاده میشود و این افزونهها با یکدیگر توسط نقاط توسعه (extension) میتوانند ادغام شوند.

وظایف برنامه اصلی:

  1. مقدار دهی اولیه فریمورک افزونه
  2. ایجاد یک context افزونه
  3. بار گذاری افزونهها
  4. کنترل اجرای افزونه
  5. تغییر پیکر بندی افزونه (اختیاری)
  6. از بین بردن فریمورک افزونه

مقدار دهی اولیه فریمورک افزونه : اولین کاری که باید در برنامه اصلی انجام داد، مقدار دهی اولیه به فریمورک افزونه (کتابخانه c-pluff) است. این کار توسط فراخوانی تابع cp_init انجام میشود. همچنین برنامه اصلی از cp_set_fatal_error_handler برای ثبت کردن تابع فراخوانی شده که دارای fatal error استفاده میشود. fatal error مانع انجام عملیات فریمورک میشود. مثالی از مقداردهی اولیه:

#include 
 #include <cpluff.h>
 
 void handle_fatal_error(const char *msg) {
 
 // ... log error, flush logs, send bug report, etc. ...
 
 fprintf(stderr, "A fatal error occurred: %sn", msg);
 abort();
 }
 
 void initialize(void) {
 cp_status_t status;
 
 setlocale(LC_ALL, "");
 cp_set_fatal_error_handler(handle_fatal_error);
 status = cp_init();
 if (status != CP_OK) {
 // ... handle initialization failure ...
 }
 }

 
گناهان...

ما را در سایت گناهان دنبال می‌کنید

برچسب: نویسنده: بازدید: 95 تاريخ: چهارشنبه 15 اسفند 1397 ساعت: 12:22

صفحه بندی