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

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

برنامج:

اسم


nescc-mig - منشئ واجهة الرسائل لـ nesC

موجز


nescc-mig [أي خيار nescc] [خيارات خاصة بالأداة]
[-o ملف إلاخراج] [-nescc=سائق]
أداة ملف تنسيق الرسالة نوع الرسالة

الوصف


nescc-mig هي أداة لإنشاء تعليمات برمجية لمعالجة رسائل nesC (التي تم تحديدها بواسطة C
أنواع). ال أداة تحدد الوسيطة الأداة التي يجب إنشاؤها، وهي نوع الرسالة
يحدد نوع C للرسالة التي ترغب في معالجتها و ملف تنسيق الرسالة يحدد أ
nesC الملف الذي يستخدم هذا النوع. يجب تحديد نوع الرسالة باستخدام البنية نوع الرسالة,
nx_struct نوع الرسالة, الاتحاد نوع الرسالة, nx_union نوع الرسالة.

عند استخدامه مع الأنواع التي يعتمد تخطيطها على النظام الأساسي (على سبيل المثال، غير محدد بـ nx_struct
or nx_union)، فمن المهم تحديد الصحيح nescc خيار البنية المستهدفة
(-fnesc-target= ). إذا كنت تدعو nescc-mig بشكل غير مباشر عبر MIG، يمكنك استخدام ال NCC
-الهدف = الخيار بدلا من ذلك.

إذا تم تسمية ثابت التعداد أكون_نوع الرسالة (مع نوع الرسالة بالأحرف الكبيرة) تم العثور عليها، ثم
من المفترض أن تكون قيمة هذا الثابت هي نوع الرسالة النشطة لـ نوع الرسالة. إذا
إذا كنت بحاجة إلى الوصول إلى ثوابت أخرى من تطبيق nesC الخاص بك، يرجى الرجوع إلى NESC-
نانوغرام صفحة رجل.

الأدوات الحالية هي جافا, CSHARP, الثعبان C، والتي تولد Java وC# وPython وC
رمز لتشفير وفك الرسائل.

OPTIONS


يمكنك تمرير أي nescc الخيار، وكذلك

-o ملف إلاخراج
حدد الملف الذي تريد إخراج الكود الذي تم إنشاؤه فيه.

-nescc=سائق
استعمل سائق بدلا من nescc لاستخراج معلومات تخطيط النوع. على سبيل المثال، إذا
تحدده -nescc = ncc، يمكنك استخدام nescc-mig لاستخراج معلومات النوع من
تطبيقات TinyOS (والتي يتم تجميعها عادةً مع NCC).

خيارات خاصة بالأداة
انظر أدناه.

JAVA TOOL


تقوم هذه الأداة بإنشاء فئة Java لتشفير أو فك تشفير رسالة nesC، مستندة في ذلك على
net.tinyos.message البنية التحتية. يقبل الخيارات التالية:

-java-classname=اسم الفصل الكامل
هذا الخيار مطلوب ويحدد الحزمة واسم الفئة التي تم إنشاؤها.
إذا كان اسم الفصل الكامل لا يحتوي على '.'، وبالتالي لا يتم تضمين أي توجيه حزمة في ملف
الناتج.

-Java-يمتد =اسم الطبقة
حدد الفئة التي سيتم توسيعها للفئة التي تم إنشاؤها. الافتراضي هو
net.tinyos.message.Message.

لكل مجال com.fname الهيكل نوع الرسالة، هناك الطرق التالية (bit
تعد طرق الإزاحة والحجم مفيدة للهياكل التي تحتوي على حقول البت):

* احصل على_com.fname: الحصول على قيمة الحقل

* تعيين_com.fname: تعيين قيمة الحقل

* بتات الإزاحة_com.fname: إرجاع إزاحة البت للحقل في نوع الرسالة

* عوض_com.fname: إرجاع إزاحة البايت للحقل الموجود نوع الرسالة

* بت_حجم_com.fname: حجم الإرجاع في أجزاء الحقل (وليس للمصفوفات)

* بحجم_com.fname: حجم الإرجاع بالبايت من الحقل (ليس للمصفوفات) (غائب إذا com.fname هو
حقل البت)

* تم التوقيع_com.fname: العودة صحيحة إذا com.fname هو من النوع الموقع

* isArray_com.fname: العودة صحيحة إذا com.fname هي مجموعة

الهياكل المضمنة في نوع الرسالة يتم توسيعها باستخدام _ لفصل اسم البنية
ومجالاتها.

يوجد عدد من الطرق الإضافية للحقول التي هي عبارة عن صفائف:

* getElement_com.fname: الحصول على عنصر من المصفوفة

* setElement_com.fname: تعيين عنصر من المصفوفة

* حجم العنصر_com.fname: حجم الإرجاع بالبايت من عناصر المصفوفة

* ElementSizeBits_com.fname: حجم الإرجاع بالبتات من عناصر المصفوفة

* الأبعاد_com.fname: إرجاع عدد أبعاد المصفوفة

* عدد العناصر_com.fname: إرجاع عدد عناصر المصفوفة لبعد معين
(البعد في أقصى اليسار مرقم 0) - البعد اختياري للأبعاد الأحادية
المصفوفات

* الحجم الإجمالي_com.fname: حجم الإرجاع بالبايت من المصفوفة (غائب إذا كان المصفوفة
متغير الحجم)

* TotalSizeBits_com.fname: حجم الإرجاع بالبتات من المصفوفة (غائب إذا كان المصفوفة
متغير الحجم)

إذا كان المصفوفة أحادية البعد والعناصر بايت واحد، ثم الطرق التالية
يوجد:

* getString_com.fname: أنشئ سلسلة Java من المصفوفة على افتراض أنها تحتوي على نمط C
سلسلة منتهية بقيمة خالية

* مجموعة_سلسلة_com.fname: اضبط المصفوفة على سلسلة منتهية بنمط C مع إعطاء Java
سلسلة

إنّ الحصول على العنصر_..., setElement_..., عوض_... وحدات الإزاحة_... الأساليب تأخذ واحدة
الوسيطة لكل بعد صفيف. تقوم هذه الطرق بالإبلاغ عن الأخطاء إذا كان فهرس الصفيف خارجًا
الحدود. إذا كان الحد الأقصى لحجم المصفوفة هو 0، فإن mig يفترض أنه يمثل حجمًا متغيرًا
array ولا يتحقق من فهرس الصفيف المقابل.

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

تتجاوز وسيطة الطول الاختيارية الحجم الافتراضي لـ sizeof(message-type); هذا هو
مفيد للرسائل ذات الحجم المتغير. يعد استخدام قاعدة صريحة مفيدًا للرسائل
مضمن في رسائل أخرى

تحتوي الفئة التي تم إنشاؤها أيضًا على طريقة amType () والتي تُرجع الرسالة النشطة للرسالة
اكتب، أو -1 إذا لم يكن هناك AM_نوع الرسالة تم العثور على ثابت.

C# TOOL


تقوم هذه الأداة بإنشاء فئة C# لتشفير أو فك تشفير رسالة nesC. فهو يقبل
الخيارات التالية:

-csharp-classname=اسم الفصل الكامل
هذا الخيار مطلوب ويحدد مساحة الاسم واسم الملف الذي تم إنشاؤه
فصل. إذا اسم الفصل الكامل لا يحتوي على '.'، وبالتالي لا يتم تضمين أي توجيه لمساحة الاسم
في الإخراج.

-csharp-يمتد =اسم الطبقة
حدد الفئة التي سيتم توسيعها للفئة التي تم إنشاؤها. الافتراضي هو
tinyos.message.Message.

الأساليب الموجودة في الفئة التي تم إنشاؤها هي نفسها المستخدمة في أداة Java.

PYTHON TOOL


تقوم هذه الأداة بإنشاء فئة Python لتشفير أو فك تشفير رسالة nesC. فهو يقبل
الخيارات التالية:

-اسم فئة الثعبان=اسم الفصل الكامل
هذا الخيار مطلوب ويحدد اسم الفئة التي تم إنشاؤها.

-بايثون-يمتد =اسم الطبقة
حدد الفئة التي سيتم توسيعها للفئة التي تم إنشاؤها. الافتراضي هو
tinyos.message.Message.Message.

الأساليب الموجودة في الفئة التي تم إنشاؤها هي نفسها المستخدمة في أداة Java.

C TOOL


تقوم هذه الأداة بإنشاء ملف رأس C (.h) مع ثوابت تصف تخطيط النوع، و
وحدة C (.c) مع وظائف للحصول على كل حقل وتعيينه. يجب عليك اجتياز .h اسم الملف
إلى nescc-mig استخدام -o.

تقبل أداة C الخيار التالي:

-c-البادئة=بادئة
يحدد هذا الخيار ملف بادئة لنعلق على الثوابت التي تم إنشاؤها و
المهام. إذا تم حذفها، نوع الرسالة .

لكل حقل غير صفيف com.fname الهيكل نوع الرسالةوالوظائف التالية و
يتم إنشاء الثوابت:

* prefix_fname_GET(): الحصول على قيمة الحقل

* prefix_fname_تعيين(): الحصول على قيمة الحقل

* prefix_fname_الإزاحة: إزاحة قليلا من المجال

* prefix_fname_عوض: إزاحة البايت للمجال

* prefix_fname_حجم بت: الحجم في أجزاء من الميدان

* prefix_fname_مقاس: الحجم بالبايت من الحقل

لكل حقل صفيف com.fname الهيكل نوع الرسالةوالوظائف التالية و
يتم إنشاء الثوابت:

* prefix_fname_يحصل(): الحصول على قيمة الحقل

* prefix_fname_تعيين(): الحصول على قيمة الحقل

* prefix_fname_offsetbits(): إزاحة بت لعنصر الصفيف

* prefix_fname_عوض(): إزاحة البايت لعنصر الصفيف

* prefix_fname_ELEMENTSIZEBITS: الحجم بالبت من عنصر الصفيف

* prefix_fname_ حجم العنصر: الحجم بالبايت لعنصر الصفيف

* prefix_fname_NUMEMENTS: عدد العناصر في الصفيف (غائب عن متغير الحجم
صفائف)

* prefix_fname_NUMEMENTS_i: حجم iالبعد المصفوفة

الهياكل المضمنة في نوع الرسالة يتم توسيعها باستخدام _ لفصل اسم البنية
ومجالاتها. يعتبر حقل مصفوفة من الهياكل المضمنة بمثابة مصفوفة.

أخطاء


nescc-mig الإبلاغ عن خطأ إذا nescc لا يمكن تجميع ملف تنسيق الرسالة، إذا نوع الرسالة ليس
وجدت أو إذا كان يحتوي على مؤشرات.

استخدم nescc-mig عبر الإنترنت باستخدام خدمات onworks.net



أحدث برامج Linux و Windows عبر الإنترنت