פיירקס הוא שפה שנועדה ליצירת מודולים הארכת פייתון נכתבו בקוד C.
זה נועד לגשר על הפער בין הרמה גבוהה נחמדה,, עולם לשימוש קל של פייתון והעולם של ג המבולגן, ברמה נמוכה
לסוגים הבסיסיים כגון מספרים ומחרוזות זה לא רע, אבל שום דבר משוכלל יותר ואתה לתוך לקטוף פייתון אובייקטים בנפרד באמצעות API השיחות / C פייתון, שדורש ממך להיות מקפידים על שמירת ספירת התייחסות, בדיקת שגיאות בכל שלב ולנקות כראוי אם משהו ישתבש
מה חדש בהודעה זו:.
תכונות מסוימות לממשק עם קוד C ++ הוכנס במהדורה זו.
מקומות כבר לא פיירקס נתפסו חריגים למדינת החוט. זה מבטיח שחריגים וtracebacks לא ידלפו החוצה של פרט הסעיף שתפסו אותם, אלא אם כן אתה עושה משהו כדי לשמר אותם באופן מפורש. נכון לעכשיו, טיעון לפונקציה פייתון שהוכרז כסוג של תוסף יהיה, כברירת מחדל, יהיה רשאי לקבל אף הערך; כדי למנוע את זה, אתה חייב להעפיל הצהרת הוויכוח עם 'לא אף אחד ". עכשיו זה אפשרי להגדיר וסוג סיומת עם תכונות פייתון שאינו משתתפות באיסוף אשפה מחזורי, באמצעות אפשרות nogc חדשה. size_t הוא עכשיו סוג מובנה והוא הסוג חזר על ידי מפעיל sizeof. כמו כן, בגדלים של size_t וPy_ssize_t כעת הניחו להיות איפשהו בין ארוך וארוך ארוכים. תפעול בין שני סוגי int באותו הדירוג עכשיו לחזור תוצאה חתומה אם אחד האופרנדים הוא חתום; אם השורות שונות, יש תוצאה מאותו הסוג כמו האופרנד מדורג הרחב יותר. אני חושב שזה הקירוב הטוב ביותר של כללי ANSI C זה אפשרי בלי לדעת את הגדלים של הסוגים מדויקים. PyString_InternFromString כעת נחשף תחת השם cintern ולא מתמחה, כי זה לא תחליף מלא לפונקציה מתמחה פייתון (זה לא יכול להתמודד עם מחרוזות המכילות בתים null). בדיקת הגודל שנוצרה בעבר בעת יבוא סוג סיומת הושבה בשל היותו עד שאני יכול לחשוב על משהו טוב יותר הזמן. זה היה יצירה יותר מדי תוצאות חיוביות שגויות, לדוגמא מגרסאות שונות של numpy. אפשרות אמנת __fastcall קורא נתמכת כעת. כמו כן, פיירקס כבר לא מניח ש__cdecl הוא אמנת ברירת המחדל קורא. כדי להיחשב תואם, שני סוגי הפונקציה חייבים או יוכרזו באותו כנס הקורא, או שניהם חייבים להשאיר אותו שלא פורטו. כפי שאיימתי לכמה זמן, באמצעות __new__ כמו השם של שיטת האתחול של סוג סיומת הפכה שגיאה ולא רק אזהרה. בעתיד לשחרר כמה, __new__ יהיה לצוץ מחדש עם יותר סמנטיקה כמו פייתון. מגבלות :
דבר מצא
תגובות לא נמצא