นี่คือคำสั่ง xsubppp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
xsubpp - คอมไพเลอร์เพื่อแปลงรหัส Perl XS เป็นรหัส C
เรื่องย่อ
xsubpp [-v] [-ยกเว้น] [-s Belt hold ] [-ต้นแบบ] [- ตรวจสอบเวอร์ชั่นใหม่] [-nolinenumbers]
[- เพิ่มประสิทธิภาพ] [-พิมพ์แผนที่ แบบแผน] [-เอาต์พุต ชื่อไฟล์]...file.xs
DESCRIPTION
คอมไพเลอร์นี้มักจะเรียกใช้โดย makefiles ที่สร้างโดย ExtUtils::Maker หรือ by
Module::Build หรือเครื่องมือสร้างโมดูล Perl อื่นๆ
xsubpp จะรวบรวมรหัส XS เป็นรหัส C โดยการฝังโครงสร้างที่จำเป็นเพื่อให้C
ฟังก์ชั่นจัดการค่า Perl และสร้างกาวที่จำเป็นเพื่อให้ Perl เข้าถึงเหล่านั้น
ฟังก์ชั่น. คอมไพเลอร์ใช้ typemaps เพื่อกำหนดวิธีการแมปพารามิเตอร์ฟังก์ชัน C และ
ตัวแปรเป็นค่า Perl
คอมไพเลอร์จะค้นหาไฟล์ typemap ที่เรียกว่า แบบแผน. มันจะใช้สิ่งต่อไปนี้
เส้นทางการค้นหาเพื่อค้นหา Typemap เริ่มต้น โดยที่ Typemap ขวาสุดจะมีความสำคัญเหนือกว่า
../../../typemap:../../typemap:../typemap:typemap
นอกจากนี้ยังจะใช้ typemap เริ่มต้นที่ติดตั้งเป็น "ExtUtils::typemap"
OPTIONS
โปรดทราบว่าตัวเลือก "XSOPT" MakeMaker อาจใช้เพื่อเพิ่มตัวเลือกเหล่านี้ใน makefiles ใดๆ
สร้างโดย MakeMaker
- ลำดับชั้น
เก็บ '::' ไว้ในชื่อประเภทเพื่อให้สามารถแมปประเภทลำดับชั้น C ++ ได้
-ยกเว้น
เพิ่ม stub การจัดการข้อยกเว้นให้กับโค้ด C
-พิมพ์แผนที่ แบบแผน
ระบุว่า Typemap ที่ผู้ใช้จัดหาควรมีความสำคัญเหนือกว่าค่าเริ่มต้น
แผนผังพิมพ์ ตัวเลือกนี้อาจใช้หลายครั้ง โดยที่ typemap ล่าสุดมี
ลำดับความสำคัญสูงสุด
-เอาต์พุต ชื่อไฟล์
ระบุชื่อของไฟล์เอาต์พุตที่จะสร้าง หากไม่มีการระบุไฟล์ ให้เอาต์พุต
จะถูกเขียนไปยังเอาต์พุตมาตรฐาน
-v พิมพ์ xsubpp หมายเลขเวอร์ชันไปยังเอาต์พุตมาตรฐาน จากนั้นออก
-ต้นแบบ
ตามค่าเริ่มต้น xsubpp จะไม่สร้างรหัสต้นแบบโดยอัตโนมัติสำหรับ xsubs ทั้งหมด นี้
ธงจะเปิดใช้งานต้นแบบ
- ตรวจสอบเวอร์ชั่นใหม่
ปิดใช้งานการทดสอบรันไทม์ที่กำหนดว่าไฟล์อ็อบเจ็กต์ (มาจาก ".xs"
ไฟล์) และไฟล์ ".pm" มีหมายเลขเวอร์ชันเดียวกัน
-nolinenumbers
ป้องกันการรวมคำสั่ง '#line' ในเอาต์พุต
- เพิ่มประสิทธิภาพ
ปิดใช้งานการเพิ่มประสิทธิภาพบางอย่าง การเพิ่มประสิทธิภาพเดียวที่ได้รับผลกระทบในขณะนี้คือ
การใช้งานของ เป้าs โดยรหัสเอาต์พุต C (ดู perlgus) นี้อาจช้ามาก
ลงรหัสที่สร้างขึ้น แต่นี่คือวิธี xsubpp ของ 5.005 และดำเนินการก่อนหน้านี้
-noinout
ปิดใช้งานการจดจำการประกาศ "IN", "OUT_LIST" และ "INOUT_LIST"
-noargtypes
ปิดใช้งานการจดจำคำอธิบายที่เหมือน ANSI ของลายเซ็นฟังก์ชัน
-ค++ ปัจจุบันไม่ได้ทำอะไรเลย แฟล็กนี้ไม่มีการดำเนินการมาหลายเวอร์ชัน
ของ perl อย่างน้อยก็ย้อนหลังไปถึง perl5.003_07 อนุญาตให้ใช้ย้อนหลังได้
ความเข้ากันได้
-ส=... or -แถบ=...
ตัวเลือก is ปิดบัง และ ท้อแท้
หากระบุไว้ สตริงที่กำหนดจะถูกถอดออกจากจุดเริ่มต้นของ C
ชื่อฟังก์ชันในฟังก์ชัน XS ที่สร้างขึ้น (หากขึ้นต้นด้วยคำนำหน้านั้น) นี้
ใช้กับ XSUB ที่ไม่มีบล็อก "CODE" หรือ "PPCODE" เท่านั้น ตัวอย่างเช่น XS:
เป็นโมฆะ foo_bar (int i);
เมื่อ "xsubpp" ถูกเรียกใช้ด้วย "-s foo_" จะติดตั้งฟังก์ชัน "foo_bar" ใน Perl
แต่จริงๆแล้วเรียก bar(i) ใน C ส่วนใหญ่นี่เป็นสิ่งที่ตรงกันข้ามกับสิ่งที่คุณต้องการ
และโหมดความล้มเหลวค่อนข้างคลุมเครือ ดังนั้นโปรดหลีกเลี่ยงตัวเลือกนี้หากเป็นไปได้
และพวกเรา
ไม่มีการใช้ตัวแปรสภาพแวดล้อม
ใช้ xsubppp ออนไลน์โดยใช้บริการ onworks.net