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

Ad


OnWorks فافيكون

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

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

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

برنامج:

اسم


h2xs - تحويل ملفات رأس .h C إلى ملحقات Perl

موجز


h2xs [OPTIONS ...] [ملف الرأس ... [مكتبات_إضافية]]

h2xs -h|-?|--مساعدة

الوصف


h2xs يبني امتداد Perl من ملفات رأس C. سوف يشمل الامتداد وظائف
والتي يمكن استخدامها لاسترداد قيمة أي عبارة #define كانت موجودة في رأس C
الملفات.

اسم وحدة سوف تستخدم لاسم الامتداد. إذا لم يتم module_name
زودت ثم سيتم استخدام اسم ملف الرأس الأول ، مع الحرف الأول
بأحرف كبيرة.

إذا احتاج الامتداد إلى مكتبات إضافية ، فيجب تضمينها هنا. تمديد
سوف يتولى Makefile.PL التحقق مما إذا كانت المكتبات موجودة بالفعل وكيفية وجودها
يجب تحميلها. يجب تحديد المكتبات الإضافية في النموذج -lm -lposix ، إلخ ،
تمامًا كما هو الحال في سطر أوامر cc. بشكل افتراضي ، سيقوم Makefile.PL بالبحث خلال ملف
يتم تحديد مسار المكتبة من خلال تكوين. يمكن زيادة هذا المسار من خلال تضمين الحجج
النموذج -L / آخر / مكتبة / مسار في حجة المكتبات الإضافية.

على الرغم من اسمها ، h2xs يمكن استخدامها أيضًا لإنشاء وحدة بيرل نقية هيكلية. انظر
-X الخيار.

OPTIONS


-A, --omit- التحميل التلقائي
حذف جميع مرافق التحميل التلقائي. هذا هو نفس -c ولكن يزيل أيضًا ملف
عبارة "استخدام AutoLoader" من ملف .pm.

-B, --النسخة التجريبية
استخدم رقم إصدار بنمط ألفا / بيتا. يتسبب في أن يكون رقم الإصدار "0.00_01" ما لم يكن
-v محدد.

-C, - تغييرات أوميت
يحذف إنشاء التغييرات ملف ، ويضيف قسم HISTORY إلى نموذج POD.

-F, - أعلام CPP=أعلام
علامات إضافية لتحديد المعالج الأولي C عند مسح الرأس للوظيفة
الإعلانات. يكتب هذه الخيارات في ملف Makefile.PL أيضا.

-M, - قناع الوجه=منتظم التعبير
يحدد الوظائف / وحدات الماكرو للمعالجة.

-O, - الكتابة - موافق
يسمح بالكتابة فوق دليل ملحق موجود مسبقًا.

-P, - omit-pod
احذف قسم POD كعب الروتين الذي تم إنشاؤه تلقائيًا.

-X, --omit-XS
حذف جزء XS. تستخدم لتوليد وحدة بيرل نقية هيكل عظمي. "-c" و "-f" هي
ممكّن ضمنيًا.

-a, - ملحقات الجيل
قم بإنشاء طريقة وصول لكل عنصر من عناصر الهياكل والنقابات. ولدت
يتم تسمية الأساليب بعد اسم العنصر ؛ سيعود القيمة الحالية لملف
العنصر إذا تم استدعاؤه بدون وسيطات إضافية ؛ وسيقوم بتعيين العنصر إلى
القيمة المقدمة (وإرجاع القيمة الجديدة) إذا تم استدعاؤها باستخدام وسيطة إضافية.
يتم إرجاع الهياكل والنقابات المضمنة كمؤشر وليس كمؤشر كامل
هيكل لتسهيل المكالمات المتسلسلة.

تنطبق هذه الطرق جميعها على نوع Ptr للهيكل ؛ بالإضافة إلى طريقتين
يتم إنشاؤها لنوع الهيكل نفسه ، "_to_ptr" الذي يقوم بإرجاع نوع Ptr
للإشارة إلى نفس البنية ، وطريقة "جديدة" لبناء وإرجاع جديد
هيكل ، مهيأ إلى أصفار.

-b, - نسخة كومبات=الإصدار
يولد ملف .pm متوافق مع الإصدارات السابقة مع إصدار perl المحدد.

بالنسبة للإصدارات <5.6.0 ، تكون التغييرات.
- لا تستخدم كلمة "our" (تستخدم "use vars" بدلاً من ذلك)
- لا توجد "تحذيرات استخدام"

تحديد إصدار توافق أعلى من إصدار perl الذي تستخدمه
تشغيل h2xs لن يكون له أي تأثير. إذا كان h2xs غير محدد سيتوافق افتراضيًا مع
إصدار perl الذي تستخدمه لتشغيل h2xs.

-c, - ثابت-أوميت
احذف "ثابت ()" من ملف .xs والمتخصص المقابل "AUTOLOAD" من ملف
ملف .pm.

-d, --تصحيح
قم بتشغيل رسائل التصحيح.

-e, - omit-enums=[منتظم التعبير]
If منتظم التعبير غير معطى ، تخطي كل الثوابت المعرفة في ج
تعداد. بخلاف ذلك ، تخطي فقط تلك الثوابت التي تم تعريفها في التعداد الذي
تطابق الاسم منتظم التعبير.

منذ منتظم التعبير اختياري ، تأكد من أن رمز التبديل هذا يتبعه في
مفتاح آخر واحد على الأقل إذا حذفت منتظم التعبير ولدينا بعض الحجج المعلقة
مثل أسماء ملفات الرأس. لابأس:

الوحدة النمطية h2xs -e -n :: Foo foo.h

هذا ليس جيدًا:

الوحدة النمطية h2xs -n :: Foo -e foo.h

في الأخير ، يتم أخذ foo.h كـ منتظم التعبير.

-f, --فرض
يسمح بإنشاء امتداد لرأس حتى لو لم يتم العثور على هذا الرأس في
القياسية تشمل الدلائل.

-g, --عالمي
قم بتضمين رمز لتخزين البيانات الثابتة بأمان في ملف .xs. الامتدادات التي لا تفعل ذلك
الاستفادة من البيانات الثابتة يمكن تجاهل هذا الخيار.

-h, -?, --مساعدة
اطبع الاستخدام والمساعدة والإصدار لهذا h2xs واخرج.

-k, --omit-const-func
بالنسبة إلى وسيطات الدالة المُعرَّفة على أنها "const" ، احذف سمة const في ملف
كود XS.

-m, - gen-tied-var
تجريبي: لكل متغير تم الإعلان عنه في ملف (ملفات) الرأس ، قم بتعريف perl
متغير من نفس الاسم مرتبط بطريقة سحرية بالمتغير C.

-n, --اسم=اسم وحدة
يحدد اسمًا لاستخدامه للامتداد ، على سبيل المثال ، -n RPC :: DCE

-o, --إعادة مبهمة=منتظم التعبير
استخدم نوع البيانات "معتم" لأنواع C المطابقة للتعبير العادي ، حتى لو
هذه الأنواع هي "typedef" - مكافئة للأنواع من خرائط الخطوط. لا ينبغي أن تستخدم
بدون -x.

قد يكون هذا مفيدًا لأنه ، على سبيل المثال ، الأنواع التي تكون "typedef" - يمكن أن تكون مكافئة للأعداد الصحيحة
تمثل المقابض المتعلقة بنظام التشغيل ، وقد يرغب المرء في العمل مع هذه المقابض بطريقة OO ،
مثل "$ handle-> do_something ()". استخدم صفر ." إذا كنت تريد التعامل مع جميع ملفات
أنواع ed "typedef" كأنواع مبهمة.

يتم تبييض النوع للمطابقة (باستثناء الفواصل ، التي لم يكن بها مسافة بيضاء من قبل
منهم ، و "*" متعددة ليس بينها مسافة بيضاء).

-p, - حذف البادئة=بادئة
حدد بادئة يجب إزالتها من أسماء وظائف Perl ، على سبيل المثال ،
-p sec_rgy_ يقوم هذا بإعداد XS اختصار الكلمة الأساسية وإزالة البادئة من الوظائف
التي يتم تحميلها تلقائيًا عبر آلية "ثابت ()".

-s, --كونست الغواصات=sub1 ، sub2
قم بإنشاء روتين فرعي perl لوحدات الماكرو المحددة بدلاً من التحميل التلقائي بامتداد
مستمر() روتين. يفترض أن تحتوي وحدات الماكرو هذه على نوع إرجاع دبابة *,
على سبيل المثال ، sec_rgy_wildcard_name ، sec_rgy_wildcard_sid.

-t, - النوع الافتراضي=نوع
حدد النوع الداخلي الذي تستخدمه مستمر() استخدامات آلية لوحدات الماكرو. الافتراضي
هو الرابع (عدد صحيح موقّع). تم العثور حاليًا على جميع وحدات الماكرو أثناء فحص الرأس
من المفترض أن تحتوي العملية على هذا النوع. الإصدارات المستقبلية من "h2xs" قد تكسب
القدرة على عمل تخمينات متعلمة.

--استخدام-اختبارات-جديدة
متى - نسخة كومبات (-b) موجود ، ستستخدم الاختبارات التي تم إنشاؤها "Test :: More"
بدلاً من "اختبار" وهو الإعداد الافتراضي للإصدارات قبل 5.6.2. "اختبار :: المزيد" سوف
يمكن إضافتها إلى PREREQ_PM في "Makefile.PL" الذي تم إنشاؤه.

--استخدام الاختبارات القديمة
سيفرض إنشاء كود الاختبار الذي يستخدم وحدة "Test" الأقدم.

- تخطي المصدر
لا تستخدم "المصدر" و / أو تصدر أي رمز.

- تخطي نقطة
لا تستخدم "Devel :: PPPort": لا توجد قابلية للنقل إلى الإصدار الأقدم.

- سكيب أوتولودر
لا تستخدم الوحدة النمطية "AutoLoader" ؛ لكن احتفظ ب مستمر() وظيفة و "الفرعية
AUTOLOAD "للثوابت.

- تخطي صارم
لا تستخدم براغما "صارمة".

- تخطي التحذيرات
لا تستخدم "تحذيرات" براغما.

-v, --الإصدار=الإصدار
حدد رقم إصدار لهذا الامتداد. يضاف رقم الإصدار هذا إلى
القوالب. الافتراضي هو 0.01 ، أو 0.00_01 إذا تم تحديد "-B". النسخة
يجب أن يكون المحدد رقميًا.

-x, - autogen-xsubs
إنشاء XSUBs تلقائيًا استنادًا إلى إعلانات الوظائف في ملف الرأس. ال
يجب تثبيت الحزمة "C :: Scan". إذا تم تحديد هذا الخيار ، فإن اسم ملف
قد يبدو ملف الرأس بالشكل "NAME1 ، NAME2". في هذه الحالة ، يتم استخدام NAME1 بدلاً من ملف
سلسلة محددة ، ولكن يتم إصدار XSUBs فقط للإعلانات المضمنة من الملف
الاسم 2.

لاحظ أن بعض أنواع الوسيطات / قيم الإرجاع للوظائف قد ينتج عنها
XSUB- إقرارات / إدخالات خريطة النوع التي تحتاج إلى تحرير يدوي. قد تكون هذه الأشياء التي
لا يمكن تحويله من / إلى مؤشر (مثل "طويل") أو مؤشرات إلى وظائف أو
المصفوفات. انظر أيضًا قسم "قيود -x".

أمثلة


# السلوك الافتراضي ، الامتداد هو Rusers
h2xs rpcsvc / rusers

# نفسه ، ولكن التمديد هو RUSERS
h2xs -n rusers rpcsvc / rusers

# التمديد هو rpcsvc :: rusers. لا يزال يجد
h2xs rpcsvc :: rusers

# الامتداد هو ONC :: RPC. لا يزال يجد
h2xs -n ONC :: RPC rpcsvc / rusers

# بدون ثابت () أو تلقائي
h2xs -c rpcsvc / rusers

# ينشئ قوالب لملحق يسمى RPC
h2xs -cfn RPC

# الامتداد هو ONC :: RPC.
h2xs -cfn ONC :: RPC

# الامتداد هو وحدة Perl خالصة بدون كود XS.
h2xs -X My :: Module

# الامتداد هو Lib :: Foo الذي يعمل على الأقل مع Perl5.005_03.
# يتم إنشاء الثوابت لجميع #defines و enums التي يمكن لـ h2xs العثور عليها
# في foo.h.
h2xs -b 5.5.3 -n Lib :: Foo foo.h

# الامتداد هو Lib :: Foo الذي يعمل على الأقل مع Perl5.005_03.
# يتم إنشاء الثوابت لجميع #defines ولكن فقط للتعدادات
# الذين لا تبدأ أسماؤهم بـ "bar_".
h2xs -b 5.5.3 -e '^ bar_' -n Lib :: Foo foo.h

سيبحث # Makefile.PL عن مكتبة lrpc بتنسيق
# دليل إضافي / opt / net / lib
h2xs rpcsvc / rusers -L / opt / net / lib -lrpc

# الامتداد هو DCE :: rgynbase
يتم إسقاط البادئة # "sec_rgy_" من أسماء وظائف Perl
h2xs -n DCE :: rgynbase -p sec_rgy_ dce / rgynbase

# الامتداد هو DCE :: rgynbase
يتم إسقاط البادئة # "sec_rgy_" من أسماء وظائف Perl
تم إنشاء # الإجراءات الفرعية من أجل sec_rgy_wildcard_name و
# sec_rgy_wildcard_sid
h2xs -n DCE :: rgynbase -p sec_rgy_ \
-s sec_rgy_wildcard_name ، sec_rgy_wildcard_sid dce / rgynbase

# اجعل XS بدون تعريف في perl.h ، ولكن مع تعريفات الوظائف
# مرئي من perl.h. اسم الامتداد هو perl1.
# عند مسح perl.h ، حدد -DEXT = خارجي -DdEXT = -DINIT (x) =
# شرطات مائلة للخلف أدناه لأن السلسلة يتم تمريرها إلى shell.
# لاحظ أن الدليل الذي يحتوي على ملفات رأس perl سيكون
# تضاف تلقائيا لتضمين المسار.
h2xs -xAn perl1 -F "-DEXT = خارجي -DdEXT = -DINIT \ (x \) =" perl.h

# نفس الأمر مع إعلان الوظيفة في proto.h كما هو مرئي من perl.h.
h2xs -xAn perl2 perl.h، proto.h

# نفس الشيء ولكن حدد فقط الوظائف التي تطابق / ^ av_ /
h2xs -M '^ av_' -xAn perl2 perl.h ، proto.h

# نفس الشيء ولكن تعامل مع SV * إلخ على أنها أنواع "غير شفافة"
h2xs -o '^ [S] V \ * $' -M '^ av_' -xAn perl2 perl.h، proto.h

تمديد على أساس on .h و .c ملفات
افترض أن لديك بعض ملفات C التي تنفذ بعض الوظائف ، والملفات المقابلة
ملفات الرأس. كيفية إنشاء امتداد يجعل هذه الوظيفة يمكن الوصول إليها في
بيرل؟ يفترض المثال أدناه أن ملفات الرأس هي Inter_simple.h و
واجهة_شعر، وتريد تسمية وحدة perl باسم "Ext :: Ension". اذا احتجت
بعض توجيهات المعالج المسبق و / أو الارتباط بالمكتبات الخارجية ، راجع العلامات "-F" ،
"-L" و "-l" في "الخيارات".

ابحث عن اسم الدليل
ابدأ بسلسلة وهمية من h2xs:

h2xs تحويلة أفن :: Ension

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

نسخ ملفات C.
انسخ ملفات الرأس وملفات C إلى هذا الدليل تمديد.

أنشئ الامتداد
قم بتشغيل h2xs ، واستبدال الملفات القديمة التي تم إنشاؤها تلقائيًا:

h2xs -Oxan Ext :: Ension interface_simple.h interface_hairy.h

يبحث h2xs عن ملفات الرأس بعد التغيير إلى دليل الامتداد ، لذلك سيجد
ملفات الرأس الخاصة بك موافق.

أرشفة واختبار
كالعادة ، قم بتشغيل

القرص المضغوط تحويلة / Ension
بيرل Makefile.PL
جعل التوزيع
جعل
قم بإجراء الاختبار

إشارة
من المهم أن تفعل "المسافة" في أقرب وقت ممكن. بهذه الطريقة يمكنك بسهولة
دمج(1) تغييراتك على الملفات التي تم إنشاؤها تلقائيًا إذا قررت تعديل ملفات ".h" الخاصة بك و
أعد تشغيل h2xs.

لا تنس تحرير الوثائق في ملف .مساء ملف.

ضع في اعتبارك أن الملفات التي تم إنشاؤها تلقائيًا هي هياكل عظمية فقط ، فقد تخترع واجهات أفضل
مما يمكن أن يخمنه h2xs.

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

البيئة


لا يتم استخدام متغيرات البيئة.

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


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

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

أوامر لينكس

Ad