عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

include_server - عبر الإنترنت في السحابة

قم بتشغيل include_server في موفر الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر include_server الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


include_server.py - تقريب متحفظ لتبعيات التضمين لـ C/C++

موجز


include_server --ميناء INCLUDE_SERVER_PORT [والخيارات]

الوصف


include_server.py يبدأ عملية تضمين الخادم. هذه العملية تجيب على الاستفسارات من
com.distcc(1) العملاء حول الملفات التي سيتم تضمينها في مجموعات C/C++. يتضمن الملف include_server.py
ينتهي الأمر نفسه بمجرد إنشاء خادم التضمين.

الوسيطة INCLUDE_SERVER_PORT هي اسم مأخذ التوصيل المستخدم لجميع الاتصالات
بين عملاء distcc وخادم التضمين. ال مضخة distcc(١) الأمر مسؤول
لإنشاء موقع مأخذ التوصيل، وتمريره إلى هذا البرنامج النصي، وتمريره إلى الجميع
عملاء distcc عبر متغير البيئة المسمى INCLUDE_SERVER_PORT.

يستخدم البروتوكول الذي يستخدمه خادم التضمين تطبيق RPC الخاص بـ distcc. كل ديسكك
يتكون الطلب من (1) الدليل الحالي و(2) قائمة وسائط الملف
أمر التجميع.

إذا كان خادم التضمين قادرًا على معالجة الطلب، فإنه يجيب على عميل distcc
إرسال قائمة مسارات الملفات. مسارات الملفات هي مسارات المصدر والرأس المضغوطين
تم العثور على الملفات ضرورية للتجميع من خلال تحليل التضمين. القائمة أيضا
يشتمل على روابط رمزية وحتى ملفات وهمية مطلوبة لخادم الترجمة
إنشاء نسخة طبق الأصل دقيقة من أجزاء نظام الملفات اللازمة للتجميع. في
بهذه الطريقة، يتم ضغط ملف الرأس المطلوب مثل /path/foo.h وإعادة تسميته وتخزينه في ملف
الموقع المؤقت، مثل /dev/shm/tmpiAvfGv.include_server-9368-1/path/foo.h.lzo. ال
سيقوم عميل distcc بتمرير هذه الملفات إلى خادم الترجمة، حيث ستكون
غير مضغوطة ومثبتة مؤقتا.

إذا كان خادم التضمين غير قادر على معالجة الطلب، فإنه يقوم بإرجاع القائمة الفارغة
للعميل distcc.

هناك نوعان من حالات الفشل المتعلقة بخادم التضمين. قد يتضمن الخادم
الفشل في حساب التضمينات أو الفشل بطرق أخرى، راجع القسم تتضمن الخادم الأعراض.
أيضًا، قد يفشل التجميع على خادم الإزالة بسبب عدم كفاية المحسوبة
تضمين الإغلاق، ولكنه ينجح بعد ذلك عند إعادة المحاولة محليًا، راجع القسم ديستك تناقض
الأعراض.

OPTION ملخص


يتم فهم الخيارات التالية بواسطة include_server.py.

-دبات، --debug_pattern=PAT
ناقل البت لتشغيل التحذيرات وتصحيح الأخطاء
1 = تحذيرات
2 = تتبع بعض الوظائف
القوى الأخرى للاثنين: راجع include_server/basics.py.

-e، --البريد الإلكتروني
أرسل بريدًا إلكترونيًا إلى "distcc-pump-errors" أو قيمة متغير البيئة، إذا تم تعريفها
DISTCC_EMAILLOG_WHOM_TO_BLAME، عندما يواجه خادم التضمين مشكلة. الافتراضي هو
لعدم إرسال البريد الإلكتروني.

--email_bound عدد
الحد الأقصى لعدد رسائل البريد الإلكتروني المراد إرسالها (بالإضافة إلى البريد الإلكتروني النهائي). الافتراضي: 3.

--لا البريد الإلكتروني
لا ترسل البريد الإلكتروني. هذا هو الافتراضي.

--path_observation_re=RE
قم بإصدار رسالة تحذير عندما يتم حل اسم ملف إلى مسار حقيقي مطابق
بواسطة RE، وهو تعبير عادي في بناء جملة بايثون. وهذا مفيد للعثور
من أين تأتي الملفات المضمنة بالفعل. استخدم RE = "" للعثور عليهم جميعًا. ملحوظة:
يجب تمكين التحذيرات باستخدام -d1 على الأقل.

--pid_file مسار الملف
تتم كتابة معرف خادم التضمين إلى ملف FILEPATH. وهذا يسمح للبرنامج النصي
مثل هذا مضخة distcc لهدم خادم التضمين.

-س، --الإحصاء
طباعة المعلومات إلى stdout حول تحليل التضمين.

--stat_reset_triggers=LIST
قم بمسح ذاكرة التخزين المؤقت للإحصائيات عندما يتغير الطابع الزمني لأي مسار ملف في القائمة أو يتغير
يأتي مسار الملف إلى الوجود أو يخرج منه. LIST عبارة عن سلسلة مفصولة بنقطتين من
مسارات الملفات، ربما تحتوي على كرات بسيطة (كما تسمح به وحدة الكرة الأرضية في Python).
قم بطباعة تحذير كلما حدث مثل هذا التغيير (إذا تم تمكين التحذيرات). هذا
يسمح الخيار باستثناءات محدودة لافتراض distcc-pump الطبيعي لهذا المصدر
لا يتم تعديل الملفات أثناء الإنشاء.

-t ، --زمن
الطباعة المنقضية، المستخدم، ووقت النظام إلى stderr.

--unsafe_absolute_includes
قم بالمعالجة المسبقة على خادم الترجمة حتى لو كانت تتضمن مسارات ملفات مطلقة
تمت مواجهتها. عادةً ما يلجأ خادم التضمين إلى المعالجة المسبقة المحلية
إذا اكتشف أي يتضمن مطلق. وبالتالي فإن هذا العلم مفيد لمنع مثل هذا
الاحتياطيات عندما يتضمن المطلق إنذارًا كاذبًا، إما لأن المطلق
يتم تجاهل التضمين أثناء المعالجة المسبقة أو بسبب الملف المضمن تمامًا
موجود على خوادم التجميع.

بتعبير أدق، مع --unsafe_absolute_includes يتم تجاهل التضمينات المطلقة
أغراض جمع الإغلاق المتضمن. قد يؤدي استخدام هذا الخيار إلى
نتائج غير صحيحة لأنه (1) قد يتم تضمين الرأس بالفعل في الملف
خادم الترجمة وقد لا يكون هو نفسه الموجود على العميل، (2) التضمين
لا يتم تحليل توجيهات الرأس بشكل أكبر.

يعد هذا الخيار مفيدًا لتجميع التعليمات البرمجية التي تحتوي على مثل هذه المواقع المطلقة المشفرة
من ملفات الرأس داخل التوجيهات الشرطية (على سبيل المثال "#ifdef") التي تعرض ملف
يشمل غير ذي صلة. بتعبير أدق، يجب القضاء على هذه تشمل خلال
المعالجة المسبقة للتكوين الفعلي. ثم مسألة وجود
ملف الرأس موضع نقاش والتجميع عن بعد سليم. هذا هو الحال في كثير من الأحيان إذا
هذه التضمينات مخصصة لتكوينات غير عادية تختلف عن التكوينات الفعلية
ترتيب.

-الخامس، --تحقق
تحقق من أن الملفات الموجودة في إغلاق CPP مضمنة في الإغلاق المحسوب بواسطة التضمين
المعالج.

-w ، --write_include_closure
اكتب ملف .d_approx الذي يسرد كافة الملفات المضمنة المحسوبة بواسطة التضمين
الخادم؛ باستخدام -x، قم أيضًا بكتابة الملفات المضمنة كما تم حسابها بواسطة CPP إلى a
ملف .d_exact.

-x ، --التحليل الدقيق
استخدم CPP بدلاً من ذلك، ولا تحذف ملفات رؤوس النظام.

تتضمن الخادم الأعراض لأي لبس قضايا


الرسائل والتحذيرات الأكثر احتمالاً أن تأتي من معالج التضمين مدرجة أدناه.

تجهيزها محليا. تضمن الخادم ليس تغطية: لا يمكن حدد الافتراضي نظام
تتضمن الدلائل
لتحديد دلائل رأس النظام الافتراضية، يقوم خادم التضمين بتشغيل ملف
المترجم مرة واحدة لكل لغة مطلوبة أثناء الجلسة. تشير هذه الرسالة
أن المترجم المحدد لـ distcc غير موجود على العميل.

تجهيزها محليا. تضمن الخادم ليس تغطية: الكفالة خارج لان تتضمن الخادم
قضى الأكثر من ذلك من ...س المستخدم الوقت معالجة طلب
في حالات غير شائعة، يفشل خادم التضمين في تحليل ماكرو معقد للغاية
التعبيرات. سيستخدم عميل distcc وضع distcc العادي.

: تحذير مسار الملف يجب be نسبي لكن ليس
لا يقبل خادم التضمين مسارات الملفات المطلقة، مثل
/usr/include/stdio.h، يتضمن التوجيهات، لأنه لا يوجد ضمان لذلك
سيكون هذا الرأس الموجود على جهاز خادم الترجمة هو نفسه الموجود على
عميل. يتخلى خادم التضمين عن تحليل إغلاق التضمين. ديسكك
لا يمكن للعميل استخدام وضع المضخة.

للتغلب على هذه المشكلة بطريقة غير موثوقة دائمًا، قم بتعيين متغير البيئة
INCLUDE_SERVER_ARGS='--unsafe_absolute_includes' عند استدعاء مضخة القرص
البرنامج النصي لتمرير خيار --unsafe_absolute_includes إلى خادم التضمين.

: تحذير مطلق مسار الملف وكان تجاهل
--unsafe_absolute_includes قيد الاستخدام. يحدث هذا الوضع في ظل نفسه
الظروف كما هو الحال عندما يتم إصدار "Filepath يجب أن يكون نسبيًا ولكنه ليس كذلك"، ولكن في هذا
في حالة التضمين سيوفر إجابة لعميل distcc.

: تحذير مسار '/المسار/الملف' تغير / جاء إلى الوجود / لا يعد موجود
يتم إصدار هذه التحذيرات عند استخدام مشغلات إعادة تعيين الإحصائيات. لأن /PATH/FILE
إذا تم تغييره، فسيقوم خادم التضمين بمسح ذاكرات التخزين المؤقت الخاصة به؛ الإصدار الجديد من الملف (أو
عدم وجوده) يجعل تحليل التضمين غير صالح. يمكن أن تكون هذه الرسالة عادة
تم التجاهل؛ إنه يشير إلى استخدام غير مستقر إلى حد ما للملفات بواسطة نظام البناء.
يوصى بإصلاح نظام البناء حتى لا تتم إعادة كتابة الملفات.

: تحذير في حالة ترجمة وحدة ...، بحث of ملف حل إلى لمن realpath is

يحدث هذا التحذير مع --path_observation_re عندما يتطابق مسار حقيقي جديد مع a
تمت ملاحظة ملف المصدر أو الرأس.

ديستك تناقض الأعراض


التفاعلات بين نظام البناء وdistcc وخادم التضمين إلى حد ما
معقد. عندما تتلقى أوامر distcc تجميعًا فاشلاً من الخادم البعيد
إعادة محاولة التجميع محليًا. يناقش هذا القسم أسباب التناقضات
بين التجميع البعيد والمحلي. يتم وضع علامة عليها بواسطة رسالة خفض الرتبة:

__________تحذير: وضع المضخة تجميع (مجموعات) فشل on الخادم، لكن نجح محليا.
__________ مضخة Distcc وكان تخفيض إلى عادي واسطة. يرى ال Distcc تناقض أعراض
قسم in ال include_server1 رجل .

يصدر البرنامج النصي distcc-pump هذه الرسالة في نهاية الإنشاء. وهذا يعني أنه في
تم استدعاء distcc واحد على الأقل بنجاح التحويل البرمجي المحلي بعد التحويل البرمجي عن بعد
فشل. كل استدعاء distcc الذي حدث فيه مثل هذا التناقض بدوره يصدر أيضًا ملف
رسالة مثل:

: تحذير عن بعد مجموعة of "..." فشل، أعاد المحاولة محليا و حصلت a مختلف نتيجة.

يؤدي خفض الرتبة إلى استخدام استدعاءات distcc اللاحقة لوضع distcc العادي. هكذا
ستتم المعالجة المسبقة على الجهاز المحلي لبقية عملية الإنشاء. هذا
تمنع هذه التقنية عمليات البناء البطيئة جدًا حيث تنتهي جميع المجموعات على الجهاز المحلي
بعد فشله عن بعد

بالطبع، إذا فشلت التجميعات المحلية بعد الفشل عن بعد، فسيتم حذف distcc
يخرج الاستدعاء بحالة غير صفرية للتجميع المحلي. رسائل الخطأ
المطبوعة هي أيضًا تلك الخاصة بالتجميع المحلي.

يمكن تعطيل السلوك الاحتياطي لوضع distcc-pump للتجميع المحلي عن طريق الإعداد
متغير البيئة DISTCC_FALLBACK إلى 1، مما يجعل الأمر distcc يفشل في أقرب وقت
كما فشل التحويل البرمجي عن بعد. يعد هذا الإعداد مفيدًا جدًا لتصحيح أخطاء
حدث خطأ في التجميع عن بعد، لأنه سيتم الآن طباعة الإخراج من الخادم.

بعد ذلك نناقش الأسباب المحتملة للتناقضات.

المستخدم غير a مصدر or رأس ملف أثناء ال بناء.
وهذا يؤدي إلى نتائج غير متناسقة بالطبع.

A مصدر or رأس ملف غير أثناء ال بناء.
يقوم نظام البناء بإعادة كتابة ملف. بالنسبة لنظام التشغيل Linux kernel 2.6، يحدث هذا لـ
"include/linux/compile.h" و"include/asm/asm-offsets.h". تم إصلاح هذا الشرط
من خلال السماح لخادم التضمين بمعرفة أنه يجب عليه إعادة تعيين ذاكرة التخزين المؤقت الخاصة به عند حدوث أي حالة
من تغيرات الملفات . عمليا، يتم ذلك عن طريق جمع الملفات في القولون
قائمة منفصلة ثم قم بتعيين الأمر INCLUDE_SERVER_ARGS كما في:

include_server_args="--stat_reset_triggers=include/linux/compile.h:include/asm/asm-
الإزاحات.ح"

A رأس ملف is يحتمل متضمن ، لكن هل ليس يوجد، و is then الى وقت لاحق وشملت.

يحدث هذا عندما يتضمن بعض الرأس foo.h ملف رأس آخر خدعة.h، لكن ملف
لم يتم إنشاء ملف Trick.h بعد ويتم تجاهل التضمين فعليًا
بسبب توجيهات المعالجة المسبقة. سوف يقوم خادم التضمين بالتحقق من
وجود خدعة.h، لأنه يبالغ في توجيهات جميع السبل الممكنة
تقييم في الواقع. تم تحديد الملف Trick.h على أنه غير موجود. إذا كان في وقت لاحق
تم إنشاؤه ثم تضمينه بالفعل، ثم سيصدق خادم التضمين خطأً
أن الملف لا يزال غير موجود. الحل لهذه المشكلة هو جعل
يقوم نظام البناء بإنشاء خدعة.h قبل تضمين أي ملف رأس لأول مرة
الذي يجعل إشارة نحوية إلى Trick.h

تتضمن الخادم وكان بدأت مع --unsafe_absolute_includes.
هذه مشكلة إذا كانت هناك ملفات رأس محليًا غير موجودة عن بعد و
التي يتم استخدامها فعلياً. غالبًا ما تكون هذه التضمينات محمية بشروط
التوجيهات التي يتم تقييمها بحيث يتم استخدامها فعليًا فقط في حالات محددة وفي كثير من الأحيان
منصات غير شائعة. إذا لم تكن تقوم بالتجميع لمثل هذه المنصة، فقد يكون الأمر كذلك
الصحيح للاستخدام --unsafe_absolute_include.

تتضمن الخادم لديها محسوب ال خاطئ يشمل.
لا نعرف مثل هذه الحالة.

EXIT الرموز


عادةً ما يكون رمز الخروج الخاص بـ include_server.py هو 0. وهذا يعني أن خادم التضمين قد بدأ التشغيل
يتم توصيله بشكل صحيح من خلال وجود ملف pid_file.

البيئة المتغيرات


DISTCC_EMAILLOG_WHOM_TO_BLAME عنوان البريد الإلكتروني الذي سيتم استخدامه لتضمين الخادم الآلي
رسائل البريد الإلكتروني. الافتراضي هو "distcc-pump-errors" (وهو عنوان بريد إلكتروني من المحتمل أن يكون كذلك
غير موجود في المجال الخاص بك).

بالإضافة إلى ذلك، قد يستخدم استدعاء المحول البرمجي متغيرات بيئة إضافية.

استخدم include_server عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

  • 1
    فيزر
    فيزر
    Phaser هو مفتوح سريع ومجاني وممتع
    مصدر إطار عمل لعبة HTML5 الذي يوفر
    عرض WebGL و Canvas عبر
    متصفحات الويب لسطح المكتب والجوال. ألعاب
    يمكن المشاركة ...
    تحميل Phaser
  • 2
    محرك VASSAL
    محرك VASSAL
    VASSAL هو محرك لعبة للإبداع
    النسخ الإلكترونية للسبورة التقليدية
    وألعاب الورق. يوفر الدعم ل
    عرض قطعة اللعبة والتفاعل ،
    و...
    قم بتنزيل محرك VASSAL
  • 3
    OpenPDF - شوكة iText
    OpenPDF - شوكة iText
    OpenPDF هي مكتبة جافا للإنشاء
    وتحرير ملفات PDF باستخدام LGPL و
    ترخيص MPL مفتوح المصدر. OpenPDF هو ملف
    LGPL / MPL وريث مفتوح المصدر لـ iText ،
    ا...
    قم بتنزيل OpenPDF - Fork of iText
  • 4
    ساجا جيس
    ساجا جيس
    SAGA - النظام الآلي
    التحليلات الجيولوجية - هو جغرافي
    برنامج نظام المعلومات (GIS) مع
    قدرات هائلة للبيانات الجغرافية
    المعالجة وآنا ...
    تنزيل SAGA GIS
  • 5
    Toolbox for Java / JTOpen
    Toolbox for Java / JTOpen
    يعد IBM Toolbox for Java / JTOpen ملف
    مكتبة من فئات Java التي تدعم
    العميل / الخادم وبرمجة الإنترنت
    نماذج لنظام يعمل بنظام التشغيل OS / 400 ،
    i5 / OS ، س ...
    تنزيل Toolbox for Java / JTOpen
  • 6
    D3.js
    D3.js
    D3.js (أو D3 للمستندات المستندة إلى البيانات)
    هي مكتبة جافا سكريبت تسمح لك
    لإنتاج بيانات ديناميكية وتفاعلية
    تصورات في متصفحات الويب. مع D3
    أنت...
    تنزيل D3.js
  • أكثر "

أوامر لينكس

Ad