รายละเอียดซอฟแวร์:
Pyrex ภาษาที่ออกแบบมาสำหรับการสร้างโมดูลขยายหลามเขียนในรหัส C
มันออกแบบมาเพื่อลดช่องว่างระหว่างดีระดับสูงของโลกที่ง่ายต่อการใช้งานของงูหลามและยุ่งโลกในระดับต่ำของซี
สำหรับประเภทพื้นฐานเช่นหมายเลขและสตริงนี้ไม่ได้เลวร้ายเกินไป แต่สิ่งที่ซับซ้อนมากขึ้นและคุณจะเป็นงูหลามหยิบวัตถุออกจากกันโดยใช้งูหลาม / C เรียก API ซึ่งคุณจะต้องพิถีพิถันเกี่ยวกับการรักษานับอ้างอิงการตรวจสอบข้อผิดพลาด ในทุกขั้นตอนและการทำความสะอาดอย่างถูกต้องหากมีอะไรผิดพลาด
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.
- คุณลักษณะบางอย่างสำหรับการเชื่อม ด้วย C ++ รหัสได้รับการแนะนำในรุ่นนี้.
- Pyrex สถานที่ไม่ได้จับข้อยกเว้นในสภาพด้าย เพื่อให้แน่ใจว่าข้อยกเว้นและ tracebacks ไม่รั่วไหลออกมาจากข้อยกเว้นที่จับพวกเขาจนกว่าคุณจะทำบางสิ่งบางอย่างที่จะรักษาพวกเขาอย่างชัดเจน.
- ปัจจุบันอาร์กิวเมนต์ฟังก์ชั่นหลามที่มีการประกาศเป็นชนิดส่วนขยายจะตามค่าเริ่มต้นได้รับอนุญาตให้ได้รับไม่มีค่า; เพื่อป้องกันการนี้คุณต้องมีสิทธิ์ได้ประกาศการโต้แย้งด้วย 'ไม่ไม่มี'.
- ตอนนี้มันเป็นไปได้ที่จะกำหนดและขยายประเภทที่มีลักษณะงูใหญ่ที่ไม่ได้มีส่วนร่วมในการเก็บขยะวงจรโดยใช้ตัวเลือก nogc ใหม่.
- size_t อยู่ในขณะนี้ในตัวชนิดและเป็นชนิดที่ส่งกลับโดยผู้ประกอบการ sizeof นอกจากนี้ขนาดของ size_t และ Py_ssize_t จะถือว่าตอนนี้จะอยู่ระหว่างยาวและนาน.
- การดำเนินงานระหว่างสองประเภท int ของตำแหน่งเดียวกันตอนนี้กลับได้รับการรับรองผลถ้าตัวถูกดำเนินการอย่างใดอย่างหนึ่งคือไม่ได้ลงนาม; ถ้าตำแหน่งที่แตกต่างกันมีผลชนิดเดียวกับตัวถูกดำเนินการจัดอันดับที่กว้างขึ้น ผมคิดว่านี่เป็นประมาณการที่ดีที่สุดของกฎ ANSI ซีที่เป็นไปได้โดยไม่ทราบขนาดที่แน่นอนของชนิด.
- PyString_InternFromString สัมผัสขณะนี้ภายใต้ชื่อ cintern มากกว่าฝึกงาน, เพราะมันไม่ได้เปลี่ยนที่สมบูรณ์สำหรับฟังก์ชันฝึกงานหลาม (มันไม่สามารถจัดการกับสตริงที่มีไบต์ null).
- การตรวจสอบขนาดที่ถูกสร้างขึ้นก่อนหน้านี้เมื่อนำเข้าประเภทนามสกุลถูกปิดใช้งานในขณะนี้จนกว่าฉันจะคิดว่าสิ่งที่ดีกว่า มันถูกสร้างผลบวกปลอมมากเกินไปเช่นจากรุ่นต่างๆของ numpy.
- __fastcall เรียกตัวเลือกการประชุมได้รับการสนับสนุนในขณะนี้ นอกจากนี้ Pyrex ไม่อนุมานว่าเป็น __cdecl เรียกประชุมเริ่มต้น ได้รับการพิจารณาเข้ากันได้สองทั้งต้องได้รับการประกาศประเภทฟังก์ชั่นที่มีการเรียกประชุมเดียวกันหรือทั้งสองจะต้องปล่อยให้มันยังไม่ระบุ.
- ขณะที่ผมได้รับการขู่ว่าบางครั้งใช้ __new__ เป็นชื่อของวิธีการ initialisation ประเภทขยายได้กลายเป็นข้อผิดพลาดมากกว่าแค่การเตือน ในบางรุ่นอนาคต, __new__ จะโผล่ออกมาอีกครั้งกับความหมายเหมือนงูหลาม.
ข้อ จำกัด
พบอะไร
ความคิดเห็นที่ไม่พบ