ນີ້ແມ່ນຄໍາສັ່ງ h2xs ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
h2xs - ປ່ຽນໄຟລ໌ສ່ວນຫົວ .h C ເປັນສ່ວນຂະຫຍາຍ Perl
ສະຫຼຸບສັງລວມ
h2xs [OPTIONS ...] [headerfile ... [extra_libraries]]
h2xs -h|-?|- ຊ່ວຍ
ລາຍລະອຽດ
h2xs ສ້າງສ່ວນຂະຫຍາຍ Perl ຈາກໄຟລ໌ສ່ວນຫົວ C. ສ່ວນຂະຫຍາຍຈະປະກອບມີຟັງຊັນຕ່າງໆ
ເຊິ່ງສາມາດໃຊ້ເພື່ອດຶງຄ່າຂອງຄຳຖະແຫຼງ #define ທີ່ຢູ່ໃນສ່ວນຫົວ C
ໄຟລ໌.
ໄດ້ module_name ຈະຖືກນໍາໃຊ້ສໍາລັບຊື່ຂອງນາມສະກຸນ. ຖ້າ module_name ບໍ່ແມ່ນ
ສະຫນອງໃຫ້ຫຼັງຈາກນັ້ນຊື່ຂອງໄຟລ໌ header ທໍາອິດຈະຖືກນໍາໃຊ້, ມີຕົວອັກສອນທໍາອິດ
ທຶນ.
ຖ້າສ່ວນຂະຫຍາຍອາດຈະຕ້ອງການຫ້ອງສະຫມຸດເພີ່ມເຕີມ, ພວກມັນຄວນຈະຖືກລວມຢູ່ທີ່ນີ້. ການຂະຫຍາຍ
Makefile.PL ຈະດູແລການກວດສອບວ່າຫ້ອງສະຫມຸດມີຢູ່ຈິງຫຼືບໍ່ແລະວິທີການຂອງພວກມັນ
ຄວນຈະຖືກໂຫລດ. ຫ້ອງສະຫມຸດພິເສດຄວນໄດ້ຮັບການລະບຸໄວ້ໃນແບບຟອມ -lm -lposix, ແລະອື່ນໆ.
ຄືກັນກັບເສັ້ນຄໍາສັ່ງ cc. ໂດຍຄ່າເລີ່ມຕົ້ນ, Makefile.PL ຈະຄົ້ນຫາຜ່ານ
ເສັ້ນທາງຫ້ອງສະຫມຸດກໍານົດໂດຍ Configure. ເສັ້ນທາງນັ້ນສາມາດຂະຫຍາຍໄດ້ໂດຍການລວມເອົາການໂຕ້ຖຽງ
ຂອງແບບຟອມ -L/ອັນອື່ນ/ຫ້ອງສະໝຸດ/ເສັ້ນທາງ ໃນການໂຕ້ຖຽງຂອງຫ້ອງສະຫມຸດພິເສດ.
ເຖິງວ່າຈະມີຊື່ຂອງມັນ, h2xs ອາດຈະຖືກນໍາໃຊ້ເພື່ອສ້າງໂມດູນ Perl ອັນບໍລິສຸດ skeleton. ເບິ່ງ
-X ທາງເລືອກ.
OPTIONS
-A, --omit-autoload
ຍົກເລີກສະຖານທີ່ autoload ທັງໝົດ. ນີ້ແມ່ນຄືກັນກັບ -c ແຕ່ຍັງເອົາອອກ
"ໃຊ້ AutoLoader" ຂໍ້ຄວາມຈາກໄຟລ໌ .pm.
-B, -- ລຸ້ນເບຕ້າ
ໃຊ້ໝາຍເລກເວີຊັນຮູບແບບ alpha/beta. ເຮັດໃຫ້ໝາຍເລກເວີຊັນເປັນ "0.00_01" ເວັ້ນເສຍແຕ່
-v ຖືກກໍານົດ.
-C, --omit-ການປ່ຽນແປງ
ຍົກເລີກການສ້າງ ການປ່ຽນແປງ ໄຟລ໌, ແລະເພີ່ມພາກສ່ວນປະຫວັດສາດໃສ່ແມ່ແບບ POD.
-F, --cpp-ທຸງ=addflags
ທຸງເພີ່ມເຕີມເພື່ອລະບຸໃຫ້ກັບ C preprocessor ເມື່ອສະແກນ header ສໍາລັບຟັງຊັນ
ຖະແຫຼງການ. ຂຽນທາງເລືອກເຫຼົ່ານີ້ຢູ່ໃນການຜະລິດ Makefile.PL ເຊັ່ນດຽວກັນ.
-M, --func-ຫນ້າກາກ=ປົກກະຕິ ການສະແດງອອກ
ເລືອກຟັງຊັນ/ມະຫາພາກເພື່ອປະມວນຜົນ.
-O, --ຂຽນທັບ-ຕົກລົງ
ອະນຸຍາດໃຫ້ລາຍການສ່ວນຂະຫຍາຍທີ່ມີຢູ່ກ່ອນແລ້ວທີ່ຈະຂຽນທັບ.
-P, --omit-pod
ຍົກເລີກພາກສ່ວນ POD stub ທີ່ສ້າງຂຶ້ນອັດຕະໂນມັດ.
-X, --omit-XS
ຍົກເລີກສ່ວນ XS. ໃຊ້ເພື່ອສ້າງໂມດູນ Perl ອັນບໍລິສຸດ skeleton. "-c" ແລະ "-f" ແມ່ນ
ເປີດໃຊ້ໂດຍທາງອ້ອມ.
-a, --gen-accessors
ສ້າງວິທີການເຂົ້າເຖິງສໍາລັບແຕ່ລະອົງປະກອບຂອງໂຄງສ້າງແລະສະຫະພັນ. ສ້າງຂຶ້ນ
ວິທີການຖືກຕັ້ງຊື່ຕາມຊື່ອົງປະກອບ; ຈະກັບຄືນມູນຄ່າປັດຈຸບັນຂອງ
ອົງປະກອບຖ້າຫາກວ່າເອີ້ນວ່າໂດຍບໍ່ມີການໂຕ້ຖຽງເພີ່ມເຕີມ; ແລະຈະກໍານົດອົງປະກອບເປັນ
ຄ່າທີ່ສະໜອງໃຫ້ (ແລະສົ່ງຄືນຄ່າໃໝ່) ຖ້າຖືກເອີ້ນດ້ວຍການໂຕ້ແຍ້ງເພີ່ມເຕີມ.
ໂຄງສ້າງທີ່ຝັງຕົວແລະສະຫະພັນຖືກສົ່ງຄືນເປັນຕົວຊີ້ແທນທີ່ຈະສົມບູນ
ໂຄງປະກອບການ, ເພື່ອສະດວກການໂທລະບົບຕ່ອງໂສ້.
ວິທີການເຫຼົ່ານີ້ທັງຫມົດນໍາໃຊ້ກັບປະເພດ Ptr ສໍາລັບໂຄງສ້າງ; ນອກຈາກນັ້ນສອງວິທີການ
ຖືກສ້າງຂຶ້ນສໍາລັບປະເພດໂຄງສ້າງຂອງມັນເອງ, "_to_ptr" ເຊິ່ງສົ່ງຄືນປະເພດ Ptr
ຊີ້ໃຫ້ເຫັນໂຄງສ້າງດຽວກັນ, ແລະວິທີການ "ໃຫມ່" ເພື່ອສ້າງແລະກັບຄືນໃຫມ່
ໂຄງປະກອບການ, ເລີ່ມຕົ້ນເປັນສູນ.
-b, --compat-version=ສະບັບພາສາ
ສ້າງໄຟລ໌ .pm ທີ່ເຂົ້າກັນໄດ້ກັບເວີຊັນ perl ທີ່ລະບຸໄວ້.
ສໍາລັບລຸ້ນ < 5.6.0, ການປ່ຽນແປງແມ່ນ.
- ບໍ່ໃຊ້ 'ຂອງພວກເຮົາ' (ໃຊ້ 'ໃຊ້ vars' ແທນ)
- ບໍ່ມີ 'ຄໍາເຕືອນການນໍາໃຊ້'
ການລະບຸເວີຊັນທີ່ເຂົ້າກັນໄດ້ສູງກວ່າເວີຊັນຂອງ perl ທີ່ທ່ານກຳລັງໃຊ້
ແລ່ນ h2xs ຈະບໍ່ມີຜົນກະທົບ. ຖ້າ h2xs ທີ່ບໍ່ລະບຸໄວ້ຈະເປັນຄ່າເລີ່ມຕົ້ນທີ່ຈະເຂົ້າກັນໄດ້
ສະບັບຂອງ perl ທີ່ທ່ານກໍາລັງໃຊ້ເພື່ອດໍາເນີນການ h2xs.
-c, --omit-ຄົງທີ່
ຍົກເລີກ "ຄົງທີ່()" ຈາກໄຟລ໌ .xs ແລະ "AUTOLOAD" ສະເພາະທີ່ສອດຄ້ອງກັນຈາກ
ໄຟລ໌ .pm.
-d, -- debugging
ເປີດການດີບັກຂໍ້ຄວາມ.
-e, --omit-enums=[ປົກກະຕິ ການສະແດງອອກ]
If ປົກກະຕິ ການສະແດງອອກ ບໍ່ໄດ້ຖືກມອບໃຫ້, ໃຫ້ຂ້າມຄ່າຄົງທີ່ທັງໝົດທີ່ຖືກກໍານົດໄວ້ໃນ C
ການນັບເລກ. ຖ້າບໍ່ດັ່ງນັ້ນໃຫ້ຂ້າມພຽງແຕ່ຄ່າຄົງທີ່ທີ່ຖືກກໍານົດໄວ້ໃນ enum ທີ່
ຊື່ກົງກັນ ປົກກະຕິ ການສະແດງອອກ.
ນັບຕັ້ງແຕ່ ປົກກະຕິ ການສະແດງອອກ ເປັນທາງເລືອກ, ໃຫ້ແນ່ໃຈວ່າສະຫຼັບນີ້ແມ່ນປະຕິບັດຕາມໂດຍຢູ່ທີ່
ຢ່າງ ຫນ້ອຍ ຫນຶ່ງ ສະ ຫຼັບ ອື່ນໆ ຖ້າ ຫາກ ວ່າ ທ່ານ omit ປົກກະຕິ ການສະແດງອອກ ແລະມີບາງການໂຕ້ຖຽງທີ່ຍັງຄ້າງຢູ່
ເຊັ່ນຊື່ header-file. ອັນນີ້ບໍ່ເປັນຫຍັງ:
h2xs -e -n Module::Foo foo.h
ອັນນີ້ບໍ່ເປັນຫຍັງ:
h2xs -n ໂມດູນ::Foo -e foo.h
ໃນສຸດທ້າຍ, foo.h ຖືກປະຕິບັດເປັນ ປົກກະຕິ ການສະແດງອອກ.
-f, --ກຳລັງ
ອະນຸຍາດໃຫ້ສ້າງສ່ວນຂະຫຍາຍສໍາລັບ header ເຖິງແມ່ນວ່າບໍ່ພົບ header ນັ້ນ
ມາດຕະຖານປະກອບມີໄດເລກະທໍລີ.
-g, -- ໂລກ
ລວມເອົາລະຫັດສໍາລັບການເກັບຮັກສາຂໍ້ມູນຄົງທີ່ຢ່າງປອດໄພໃນໄຟລ໌ .xs. ສ່ວນຂະຫຍາຍທີ່ບໍ່ມີ
ການນໍາໃຊ້ຂໍ້ມູນສະຖິດສາມາດລະເລີຍທາງເລືອກນີ້.
-h, -?, - ຊ່ວຍ
ພິມການນໍາໃຊ້, ການຊ່ວຍເຫຼືອແລະສະບັບສໍາລັບ h2xs ນີ້ແລະອອກ.
-k, --omit-const-func
ສໍາລັບອາກິວເມັນຟັງຊັນປະກາດເປັນ "const", ຍົກເລີກຄຸນສົມບັດ const ໃນທີ່ສ້າງຂຶ້ນ
ລະຫັດ XS.
-m, --gen-tied-var
ທົດລອງ: ສໍາລັບແຕ່ລະຕົວແປທີ່ປະກາດໄວ້ໃນ header file(s), declar a perl
ຕົວແປຂອງຊື່ດຽວກັນທີ່ magically tied ກັບຕົວແປ C.
-n, --ຊື່=module_name
ລະບຸຊື່ທີ່ຈະໃຊ້ສໍາລັບສ່ວນຂະຫຍາຍເຊັ່ນ -n RPC::DCE
-o, --opaque-re=ປົກກະຕິ ການສະແດງອອກ
ໃຊ້ປະເພດຂໍ້ມູນ "opaque" ສໍາລັບປະເພດ C ທີ່ຈັບຄູ່ໂດຍສະແດງອອກປົກກະຕິ, ເຖິງແມ່ນວ່າ
ປະເພດເຫຼົ່ານີ້ແມ່ນ "typedef" - ທຽບເທົ່າກັບປະເພດຈາກ typemap. ບໍ່ຄວນໃຊ້
ໂດຍບໍ່ມີການ -x.
ນີ້ອາດຈະເປັນປະໂຫຍດນັບຕັ້ງແຕ່, ເວົ້າວ່າ, ປະເພດທີ່ເປັນ "typedef" - ເທົ່າກັບຈໍານວນເຕັມອາດຈະ
ເປັນຕົວແທນຂອງ handles ທີ່ກ່ຽວຂ້ອງກັບ OS, ແລະຫນຶ່ງອາດຈະຕ້ອງການທີ່ຈະເຮັດວຽກກັບ handles ເຫຼົ່ານີ້ໃນ OO-way,
ຄືກັບ "$handle->do_something()". ໃຊ້ "-o ." ຖ້າທ່ານຕ້ອງການຈັດການທັງຫມົດ
"typedef"ed ປະເພດເປັນປະເພດ opaque.
ປະເພດການຈັບຄູ່ແມ່ນຖືກລ້າງຂາວ (ຍົກເວັ້ນເຄື່ອງໝາຍຈຸດ, ທີ່ບໍ່ມີບ່ອນຫວ່າງກ່ອນ
ພວກມັນ, ແລະຫຼາຍ "*" ທີ່ບໍ່ມີຊ່ອງຫວ່າງລະຫວ່າງພວກມັນ).
-p, --remove-prefix=ຄຳ ນຳ ໜ້າ
ລະບຸຄໍານໍາຫນ້າທີ່ຄວນຈະຖືກໂຍກຍ້າຍອອກຈາກຊື່ຟັງຊັນ Perl, ຕົວຢ່າງ:
-p sec_rgy_ ນີ້ຕັ້ງຄ່າ XS PREFIX ຄໍາສໍາຄັນແລະເອົາຄໍານໍາຫນ້າອອກຈາກຫນ້າທີ່
ທີ່ຖືກໂຫລດອັດຕະໂນມັດຜ່ານກົນໄກ "ຄົງທີ່ ()".
-s, --const-subs=ຍ່ອຍ1,ຍ່ອຍ2
ສ້າງ perl subroutine ສໍາລັບ macros ທີ່ກໍານົດໄວ້ແທນທີ່ຈະ autoload ກັບ
ຄົງທີ່() ປະຈຳຍ່ອຍ. ມະຫາພາກເຫຼົ່ານີ້ແມ່ນສົມມຸດວ່າມີປະເພດຜົນຕອບແທນຂອງ char *,
ຕົວຢ່າງ: -s sec_rgy_wildcard_name,sec_rgy_wildcard_sid.
-t, --default-type=ປະເພດ
ລະບຸປະເພດພາຍໃນທີ່ ຄົງທີ່() ກົນໄກການນໍາໃຊ້ສໍາລັບມະຫາພາກ. ຄ່າເລີ່ມຕົ້ນ
ແມ່ນ IV (ຈຳນວນເຕັມທີ່ລົງລາຍເຊັນ). ປະຈຸບັນພົບມາໂຄຣທັງໝົດໃນລະຫວ່າງການສະແກນສ່ວນຫົວ
ຂະບວນການຈະຖືກສົມມຸດວ່າມີປະເພດນີ້. ຮຸ່ນ "h2xs" ໃນອະນາຄົດອາດຈະໄດ້ຮັບ
ຄວາມສາມາດໃນການຄາດເດົາການສຶກສາ.
--use-new-tests
ເມື່ອໃດ --compat-version (-b) ປະຈຸບັນການທົດສອບທີ່ສ້າງຂຶ້ນຈະໃຊ້ "Test:: More"
ແທນທີ່ຈະ "ທົດສອບ" ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນຂອງເວີຊັນກ່ອນ 5.6.2. "ທົດສອບ::ເພີ່ມເຕີມ" ຈະ
ຈະຖືກເພີ່ມໃສ່ PREREQ_PM ໃນ "Makefile.PL".
--use-old-tests
ຈະບັງຄັບການສ້າງລະຫັດການທົດສອບທີ່ໃຊ້ໂມດູນ "ທົດສອບ" ເກົ່າ.
--ຂ້າມ-ຜູ້ສົ່ງອອກ
ຢ່າໃຊ້ "ຜູ້ສົ່ງອອກ" ແລະ/ຫຼື ສົ່ງອອກສັນຍາລັກໃດໆ.
--skip-ppport
ຫ້າມໃຊ້ "Devel::PPPort": ບໍ່ມີການນຳໄປໃຊ້ກັບເວີຊັນເກົ່າ.
--skip-autoloader
ຢ່າໃຊ້ໂມດູນ "AutoLoader"; ແຕ່ຮັກສາ ຄົງທີ່() function ແລະ "ຍ່ອຍ
AUTOLOAD" ສໍາລັບຄ່າຄົງທີ່.
--ຂ້າມ-ເຄັ່ງຄັດ
ຢ່າໃຊ້ Pragma "ເຄັ່ງຄັດ".
--skip-ເຕືອນ
ຢ່າໃຊ້ Pragma "ຄໍາເຕືອນ".
-v, - ການປ່ຽນແປງ=ສະບັບພາສາ
ລະບຸໝາຍເລກເວີຊັນສຳລັບສ່ວນຂະຫຍາຍນີ້. ໝາຍເລກລຸ້ນນີ້ຖືກເພີ່ມໃສ່
ແມ່ແບບ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.01, ຫຼື 0.00_01 ຖ້າ "-B" ຖືກລະບຸ. ສະບັບ
ທີ່ລະບຸຄວນຈະເປັນຕົວເລກ.
-x, --autogen-xsubs
ສ້າງ XSUBs ໂດຍອັດຕະໂນມັດໂດຍອີງໃສ່ການປະກາດຟັງຊັນໃນໄຟລ໌ສ່ວນຫົວ. ໄດ້
ຊຸດ "C:: Scan" ຄວນຖືກຕິດຕັ້ງ. ຖ້າຕົວເລືອກນີ້ຖືກລະບຸ, ຊື່ຂອງ
ໄຟລ໌ສ່ວນຫົວອາດຈະຄ້າຍຄື "NAME1,NAME2". ໃນກໍລະນີນີ້ NAME1 ຖືກໃຊ້ແທນ
ສະຕຣິງທີ່ລະບຸ, ແຕ່ XSUBs ຖືກປ່ອຍອອກມາພຽງແຕ່ສໍາລັບການປະກາດທີ່ລວມຢູ່ໃນໄຟລ໌
NAME2.
ໃຫ້ສັງເກດວ່າບາງປະເພດຂອງ argument / return-values ສໍາລັບຟັງຊັນອາດຈະສົ່ງຜົນໃຫ້
XSUB-declarations/typemap-entries ທີ່ຕ້ອງການການແກ້ໄຂດ້ວຍມື. ສິ່ງດັ່ງກ່າວອາດຈະເປັນວັດຖຸທີ່
ບໍ່ສາມາດປ່ຽນຈາກ / ເປັນຕົວຊີ້ (ເຊັ່ນ "ຍາວຍາວ"), ຕົວຊີ້ໄປຫາຫນ້າທີ່, ຫຼື
arrays. ເບິ່ງພາກສ່ວນ "LIMITATIONS ຂອງ -x".
ຕົວຢ່າງ
# ພຶດຕິກໍາເລີ່ມຕົ້ນ, ການຂະຫຍາຍແມ່ນ Rusers
h2xs rpcsvc/rurs
# ຄືກັນ, ແຕ່ການຂະຫຍາຍແມ່ນ RUSERS
h2xs -n RUSERS rpcsvc/rusers
# ສ່ວນຂະຫຍາຍແມ່ນ rpcsvc::rusers. ຍັງພົບເຫັນ
h2xs rpcsvc::rusers
# ສ່ວນຂະຫຍາຍແມ່ນ ONC::RPC. ຍັງພົບເຫັນ
h2xs -n ONC::RPC rpcsvc/rusers
# ໂດຍບໍ່ມີການຄົງທີ່ () ຫຼື AUTOLOAD
h2xs -c rpcsvc/rusers
# ສ້າງແມ່ແບບສໍາລັບສ່ວນຂະຫຍາຍທີ່ມີຊື່ RPC
h2xs -cfn RPC
# ສ່ວນຂະຫຍາຍແມ່ນ ONC::RPC.
h2xs -cfn ONC::RPC
# ສ່ວນຂະຫຍາຍແມ່ນໂມດູນ Perl ບໍລິສຸດທີ່ບໍ່ມີລະຫັດ XS.
h2xs -X ຂອງຂ້ອຍ::ໂມດູນ
# ສ່ວນຂະຫຍາຍແມ່ນ 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 ແຕ່ພຽງແຕ່ສໍາລັບ enums
# ຊື່ທີ່ບໍ່ໄດ້ຂຶ້ນຕົ້ນດ້ວຍ '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
# routines ຍ່ອຍແມ່ນຖືກສ້າງຂຶ້ນສໍາລັບ 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=extern -DdEXT= -DINIT(x)=
# ເພີ່ມເຕີມ backslashes ຂ້າງລຸ່ມນີ້ເນື່ອງຈາກວ່າ string ຖືກສົ່ງກັບ shell.
# ໃຫ້ສັງເກດວ່າໄດເລກະທໍລີທີ່ມີໄຟລ໌ສ່ວນຫົວ perl ຈະ
# ຈະຖືກເພີ່ມໂດຍອັດຕະໂນມັດເພື່ອປະກອບມີເສັ້ນທາງ.
h2xs -xAn perl1 -F "-DEXT=extern -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* ອື່ນໆເປັນປະເພດ "opaque".
h2xs -o '^[S]V \*$' -M '^av_' -xAn perl2 perl.h,proto.h
ການຂະຫຍາຍຕົວ ອີງ on .h ແລະ .c ໄຟ
ສົມມຸດວ່າທ່ານມີໄຟລ໌ C ບາງປະຕິບັດບາງການທໍາງານ, ແລະທີ່ສອດຄ້ອງກັນ
ໄຟລ໌ຫົວ. ວິທີການສ້າງສ່ວນຂະຫຍາຍທີ່ເຮັດໃຫ້ຫນ້າທີ່ນີ້ສາມາດເຂົ້າເຖິງໄດ້ໃນ
Perl? ຕົວຢ່າງຂ້າງລຸ່ມນີ້ສົມມຸດວ່າໄຟລ໌ຫົວແມ່ນ interface_simple.h ແລະ
interface_hairy.h, ແລະທ່ານຕ້ອງການໂມດູນ perl ຖືກຕັ້ງຊື່ເປັນ "Ext::Ension". ຖ້າເຈົ້າຕ້ອງການ
ບາງຄໍາສັ່ງ preprocessor ແລະ / ຫຼືການເຊື່ອມຕໍ່ກັບຫ້ອງສະຫມຸດພາຍນອກ, ເບິ່ງທຸງ "-F",
"-L" ແລະ "-l" ໃນ "ຕົວເລືອກ".
ຊອກຫາຊື່ໄດເລກະທໍລີ
ເລີ່ມຕົ້ນດ້ວຍການແລ່ນ dummy ຂອງ h2xs:
h2xs -Afn Ext::Ension
ຈຸດປະສົງດຽວຂອງຂັ້ນຕອນນີ້ແມ່ນເພື່ອສ້າງໄດເລກະທໍລີທີ່ຈໍາເປັນ, ແລະແຈ້ງໃຫ້ເຈົ້າຮູ້
ຊື່ຂອງໄດເລກະທໍລີເຫຼົ່ານີ້. ຈາກຜົນຜະລິດທີ່ທ່ານສາມາດເຫັນໄດ້ວ່າໄດເລກະທໍລີສໍາລັບ
ການຂະຫຍາຍແມ່ນ Ext/Ension.
ສຳເນົາໄຟລ໌ C
ສຳເນົາໄຟລ໌ສ່ວນຫົວ ແລະໄຟລ໌ C ຂອງທ່ານໃສ່ບັນຊີລາຍການນີ້ Ext/Ension.
ສ້າງສ່ວນຂະຫຍາຍ
ແລ່ນ h2xs, ຂຽນທັບໄຟລ໌ທີ່ສ້າງຂຶ້ນອັດຕະໂນມັດເກົ່າ:
h2xs -Oxan Ext::Ension interface_simple.h interface_hairy.h
h2xs ຊອກຫາໄຟລ໌ສ່ວນຫົວ ຫຼັງຈາກ ການປ່ຽນແປງໄປຫາໄດເລກະທໍລີຂະຫຍາຍ, ດັ່ງນັ້ນມັນຈະພົບເຫັນ
ໄຟລ໌ຫົວຂອງທ່ານຕົກລົງ.
ຮວບຮວມແລະທົດສອບ
ຕາມປົກກະຕິ, ແລ່ນ
cd Ext/Ension
perl Makefile.PL
ເຮັດໃຫ້ຫ່າງໄກ
ເຮັດໃຫ້
ເຮັດໃຫ້ການທົດສອບ
ຄໍາແນະນໍາ
ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະເຮັດ "ເຮັດໃຫ້ຫ່າງໄກ" ໄວເທົ່າທີ່ຈະໄວໄດ້. ວິທີນີ້ເຈົ້າສາມາດໄດ້ຢ່າງງ່າຍດາຍ
ລວມ(1) ການປ່ຽນແປງຂອງທ່ານກັບໄຟລ໌ autogenerated ຖ້າຫາກວ່າທ່ານຕັດສິນໃຈທີ່ຈະແກ້ໄຂໄຟລ໌ ".h" ຂອງທ່ານແລະ
rerun h2xs.
ຢ່າລືມແກ້ໄຂເອກະສານທີ່ສ້າງຂຶ້ນ pm ຍື່ນ.
ພິຈາລະນາໄຟລ໌ທີ່ຜະລິດຕະໂນມັດເປັນ skeletons ເທົ່ານັ້ນ, ທ່ານອາດຈະສ້າງການໂຕ້ຕອບທີ່ດີກວ່າ
ຫຼາຍກວ່າສິ່ງທີ່ h2xs ສາມາດຄາດເດົາໄດ້.
ພິຈາລະນາພາກນີ້ເປັນຄໍາແນະນໍາເທົ່ານັ້ນ, ບາງທາງເລືອກອື່ນຂອງ h2xs ອາດຈະເຫມາະສົມກັບທີ່ດີກວ່າ
ຄວາມຕ້ອງການຂອງທ່ານ.
ENVIRONMENT
ບໍ່ມີຕົວແປສະພາບແວດລ້ອມໄດ້ຖືກນໍາໃຊ້.
ໃຊ້ h2xs ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net