SWIG เป็นโอเพนซอร์สสมบูรณ์ฟรีหลากหลายและคอมไพเลอร์อินเตอร์เฟซแบบพกพา, C / โปรแกรมบรรทัดคำสั่ง c ++ ที่ช่วยให้นักพัฒนาสามารถเชื่อมต่อการใช้งานของพวกเขากับคนอื่น ๆ ต่าง ๆ การเขียนสคริปต์ภาษา / การเขียนโปรแกรม.
ได้รับการออกแบบจากพื้นดินขึ้นมาเพื่อใช้สำหรับการจับ C / C ++ ไฟล์ส่วนหัว & rsquo นั้น ประกาศและสร้างรหัสเสื้อคลุมที่จำเป็นโดยภาษาสคริปต์สำหรับการเข้าถึง C พื้นฐาน / C ++ รหัส.
คุณสมบัติอย่างรวดเร็ว
คุณสมบัติที่สำคัญ ได้แก่ การเรียนและการขยายโครงสร้างการจัดการข้อยกเว้นการจัดการหน่วยความจำแม่ instantiation ละเอียดคลุมเครือ, นำเข้าไฟล์และข้ามโมดูลเชื่อมโยง SWIG จัดการแมโครขยายการวินิจฉัยที่กว้างขวางเช่นเดียวกับรหัสรวม.
SWIG สนับสนุนหลายภาษาการเขียนโปรแกรมที่นิยมรวมทั้ง Allegro CL, C #, CFFI, CLISP, ไก่, Guile, Java, ลัวะ Modula-3, Mzscheme, Ocaml, Perl, PHP, Python, R, ทับทิม, Tcl และ UFFI .
นอกจากนี้ SWIG ให้เต็มรูปแบบ C ก่อนประมวลผลที่มีคุณสมบัติเช่นการขยายตัวแมโครห่ออัตโนมัติของงบ #define เป็นค่าคงที่การสนับสนุนสำหรับการแปลงที่กำหนดเองชนิดและเรียบเรียงสนับสนุนฟังก์ชั่นผู้ช่วยเช่นเดียวกับการสนับสนุนสำหรับ C99.
สามารถนำมาใช้เพื่อสร้าง wrappers มากมาย
โปรแกรมที่สามารถนำมาใช้จากอินเตอร์เฟซบรรทัดคำสั่งเพื่อสร้าง wrappers มากมายสำหรับการเขียนโปรแกรมภาษาหลายแห่งรวมถึง ALLEGROCL, ไก่, CLISP, CFFI, C #, D, Go, Guile, Java, JavaScript, ลัวะ Modula 3 Mzscheme , Ocaml, คู่, Perl, PHP, หอก, Python, R, ทับทิมชัด Tcl ธรรมดาชัดและ XML.
หลากหลายของตัวเลือกบรรทัดคำสั่งที่มีการดำเนินการที่ช่วยให้คุณสามารถโต้ตอบกับ SWIG & rsquo; s ฟังก์ชันในตัว ตัวอย่างการใช้งานหลายเหล่านี้และสามารถดูได้อย่างรวดเร็วโดยใช้ & lsquo; swig --help & rsquo; คำสั่งในการใช้งานโปรแกรมจำลองใดขั้ว.
ทำงานบนลินุกซ์, Mac และ Windows
SWIG ทำงานในการกระจาย GNU / Linux ทั้งหมดเช่นเดียวกับใน X ระบบปฏิบัติการ Microsoft Windows และ Mac OS สนับสนุน 64 บิตและ 32 บิตรสชาติ มันเขียนไว้ใน C ++ และ C การเขียนโปรแกรมภาษา คำแนะนำการติดตั้งโดยละเอียดมีไว้ในโครงการ & rsquo; s หน้าแรก (ดูลิงค์ด้านล่าง)
มีอะไรใหม่ ในรุ่นนี้:
<. ul>
มีอะไรใหม่ ในรุ่น 3.0.7:.
- เพิ่มการสนับสนุนสำหรับคู่-4.0.0
- ลบความปลอดภัยของ Android ที่มีศักยภาพในการใช้ประโยชน์จากการสร้างเรียน Java.
- คุณสมบัติใหม่ไมเนอร์และแก้ไขข้อบกพร่อง.
มีอะไรใหม่ ในรุ่น 3.0.6:.
- ความเสถียรและความถดถอยแก้ไข
- แยกหนี้ c ++ กรณีมุม.
- การปรับปรุงภาษาและการแก้ไขข้อผิดพลาดสำหรับ C #, Go, Java, Lua, Python, r.
คืออะไรใหม่ ในรุ่น 3.0.5:
- แก้ไขหลามที่สำคัญสำหรับการถดถอยใน SWIG- 3.0.3 เมื่อห่อข้อโต้แย้งเริ่มต้น c ++.
- การปรับปรุงเล็กน้อยสำหรับ C #, Go, คู่, PHP และ Python.
มีอะไรใหม่ ในรุ่น 3.0.3:
- เพิ่มการสนับสนุนสำหรับ C ++ 11 ขอพิมพ์ enumerations .
- การแก้ไขข้อบกพร่องต่าง ๆ นานาและการปรับปรุงเล็ก ๆ น้อย ๆ สำหรับ C #, D, Go, Java, JavaScript, PHP, Perl และ Python ห่อ.
คืออะไรใหม่ ในรุ่น 3.0.2:
- ข่าวประชาสัมพันธ์ฉบับนี้ได้รับการทำเพื่อแก้ไขข้อผิดพลาดในระหว่างการ การติดตั้ง แต่ก็ยังมีคู่ของการเปลี่ยนแปลงค่อนข้างเล็ก ๆ น้อย ๆ อื่น ๆ .
คืออะไรใหม่ ในรุ่น 2.0.12:
- นี้เป็นรุ่นการบำรุงรักษา backporting แก้ไขบางส่วนจาก อยู่ระหว่างดำเนินการปล่อย 3.0.0.
- Octave 3.8 เพิ่มการสนับสนุน.
- C ++ 11 การสนับสนุนสำหรับรุ่นใหม่ลบ / ใส่ในภาชนะ STL ได้.
- แก้ไขสะสมในระบบบางอย่างสำหรับสร้าง Lua, PHP, Python และ R ห่อ.
มีอะไรใหม่ ในรุ่น 1.3.37:
- หลาม 3 เพิ่มการสนับสนุน
- SWIG ตอนนี้มาพร้อมกับรุ่นของ ccache ที่สามารถใช้กับ SWIG ซึ่งจะช่วยให้ไฟล์ที่สร้างขึ้นโดย SWIG จะถูกเก็บไว้เพื่อให้ใช้งานซ้ำ ๆ ของ SWIG ในแฟ้มใส่ไม่เปลี่ยนแปลงเพิ่มความเร็วในการสร้างค่อนข้างมาก.
- PHP 4 นำการสนับสนุนและการสนับสนุนการปรับปรุงใน PHP ทั่วไป
- ปรับปรุงสนับสนุน C # อาร์เรย์
- การปรับปรุงหลาย Allegro CL
ความคิดเห็นที่ไม่พบ