2020/05/04 - القليل من الترتيب الكود وإعادة إنشاء وإزالة التحذيرات التي تم وضع علامة عليها من قبل بعض المترجمين. خلال الأشهر القليلة الماضية ، انتقلت إلى Boost الأحدث بسبب تحديثات لتعزيز رمز ASIO.
2019/08/29 - إضافة وظائف الأداة المساعدة الإضافية.
2019/04/11 - دعم إضافي لمؤسسة بروتوكول Google في أدوات التسلسل. لذلك ، تم تحقيق الدعم تلقائيًا في جميع فئات ASIO ، مثل فئات TCP و UDP و MultiCast.
هذه المكتبة (Corelibrary) هي مجموعة من فئات الأداة المساعدة C ++ 1x المفيدة للمساعدة في تعدد الخيوط ، والتسجيل ، والشبكات ، والاستثناءات المخصصة ، ومرافق الملفات ، وملفات INI ، والتسلسل ، والفرز ، ومرافق السلسلة وما إلى ذلك. بمعنى آخر ، مجموعة عامة من التعليمات البرمجية مفيدة للغاية في العديد من مشاريع الترميز C ++ المختلفة.
إذا وجدت أيًا من هذا الرمز مفيدًا واستخدمته في البرنامج أو أخذ أجزاء منه لإسناد عملك ، فيرجى إعطاء الائتمان واحترام الترخيص.
يتم ترخيصه بموجب شروط LGPL 3.0 ويمكن العثور على الوثائق ذات الصلة لهذا في الجزء العلوي من كل ملف مصدر وفي ملف نصي الترخيص.
الرمز هو عمل ME (Duncan Crutchley) ([email protected]).
حقوق الطبع والنشر (ج) 2014 فصاعدا دنكان كراتشلي.
تم تطوير هذه المكتبة في QT Creator لنظام التشغيل Windows و Linux. في Windows ، يوصى باستخدام سلسلة أدوات MSVC2017 من داخل Creator لإنشاء الرمز واختباره ولكن تم استخدامه مع MSVC2013 و MSVC2015 بنجاح. تم اختبار المترجمين الآخرين في Windows مثل Clang 3.4+ و GCC (MINGW) 4.8.x+ ويجب أن يعمل الرمز مع هذه. في Linux تم اختبار الكود باستخدام GCC 4.8.x+ و Clang 3.4+. أحاول دائمًا استخدام أحدث إصدار من أي برنامج مترجم أقوم بإنشائه هذا الرمز. لذلك ، على هذا النحو ، لن أضمن أنني سأحافظ على الدعم للمترجمين الأكبر سناً أثناء تحريك الكود الخاص بي مع التحسينات والميزات الجديدة.
على Windows (Win10 64bit) أنا أستخدم حاليًا MSVC 2017 64bit Kit في QT Creator 4.9.2/ QT Framework 5.13.0. على Linux (Manjaro) أنا أستخدم حاليًا مجموعة GCC 8.2.1 و Clang 8.0.0 في QT Creator 4.9.2 و QT Framework 5.13.0.
المشاريع التي يتم توفيرها لاختبارات المكتبة والوحدة مخصصة لـ QT Creator وستعمل في Linux و Windows. لتحقيق ذلك ، تعتمد المشاريع على أجهزة mkspecs المخصصة التي سيتم نسخها من مجلد QT_Custom_Mkspecs في مجلد ميزة MKSPEC المناسب. مثال يتم توفير mkspecs للتوافق مع MSVC2017 64bit و Linux. يجب تخصيصها لنظام المستخدم الخاص.
يمكنك استخدام هذا الرمز في بيئات التطوير والبناء الأخرى ، ولكن الأمر متروك للمستخدم لإنشاء المشاريع المطلوبة أو التصنيع لتلك البيئات. يجب أن يكون هذا سهلاً إلى حد ما من خلال الإشارة إلى ملف مشروع QT (.PRO) وملفات mkspec المذكورة مسبقًا.
تتطلب هذه المكتبة بعض مكتبات المصادر المفتوحة من طرف ثالث لتجميعها والوظيفة. هذه كما يلي:
كما هو الحال مع المترجمين ، أحتفظ دائمًا بنسخي من مكتبات الطرف الثالث أعلاه مع أحدث إصداراتها المستقرة ، لذا لن أضمن الدعم الكامل للمراكات القديمة لهذه المكتبات مع استمرار العمل في هذا المشروع.
هذا إلى حد كبير مشروع هواية يعتمد على المعرفة التي اكتسبتها في سنواتي العديدة من خبرتي في تطوير البرمجيات والأوساط الأكاديمية منذ عام 1999. لقد بدأت في تطوير هذا الرمز في أوائل عام 2014. وهذا يمثل مجموعة من ، نأمل ، واضحة للاستخدام والفصول المفيدة لتلبية احتياجات تطوير البرمجيات التي تحدث بشكل شائع.
تم اختبار جميع الكود بتغطية جيدة وقد استخدمت هذا الرمز في مشاريعي الخاصة دون مشكلة. لقد استخدمت أيضًا الكثير من هذا الرمز والرمز المماثل الذي كتبه لي في المشاريع التجارية ، وغالبًا ما يكون ذلك مع متطلبات (ناعمة) في الوقت الفعلي ، ولم يكن لدي أي مشكلات لذلك لا تتردد في استخدام هذا في المشاريع التجارية طالما أنك تلتزم بالترخيص.
أقوم بإصلاح الأخطاء وتحسين الرمز عند الضرورة ولكن لا أقدم أي ضمانات حول عدد مرات حدوث ذلك. لا أقدم أي ضمان أو دعم لأي مشكلات تتم مواجهتها أثناء استخدامها. على الرغم من أنك إذا كنت عالقًا بالفعل عبر البريد الإلكتروني لي على العنوان المقدم ، وإذا كان لدي الوقت ، فسأحاول مساعدة أو إصلاح المشكلة إذا كان ضمن سطحي للقيام بذلك
يتم التعليق على الرمز باستخدام تعليقات نمط doxygen ، لذا تحقق من الوثائق في/docs/html/folder و Open Index.html في متصفحك المفضل.
لأمثلة الاستخدام ، أوصي بالبحث في رمز اختبار الوحدة في مجلد /unittests /googletests.
تتطلب اختبارات وحدة الشبكات اتصالًا بالشبكة وتتوقع إعداد 2 محولات ، واحدة في 10.34.6.1/255.255.0.0 وآخر في 10.35.6.1/255.255.0.0. يمكن أن تكون هذه محولات "الظاهرية" الظاهرية أو محولات الشبكة الفعلية ولكن لاختبار مجموعة البث المتعدد وبث UDP يجب على المستخدم تكوين جدران الحماية الخاصة بهم وإعدادات الأمان بشكل مناسب.
انظر الويكي للحصول على مزيد من المعلومات والأمثلة.