זוהי הפקודה xsubppp שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
xsubpp - מהדר להמרת קוד Perl XS לקוד C
תַקצִיר
xsubpp [-v] [-מלבד] [-s דפוס] [-אב טיפוס] [-בדיקת noversion] [-נולינאמברס]
[-ללא אופטימיזציה] [-מפת סוג מפת סוג] [-תְפוּקָה שם הקובץ]... file.xs
תיאור
מהדר זה מנוהל בדרך כלל על ידי קבצי ה-make שנוצרו על ידי ExtUtils::MakeMaker או על ידי
Module::Build או כלי בנייה אחרים של מודול Perl.
xsubpp יקמפל קוד XS לקוד C על ידי הטמעת המבנים הדרושים כדי לאפשר ל-C
פונקציות מבצעות מניפולציות על ערכי Perl ויוצרת את הדבק הדרוש כדי לאפשר לפרל לגשת לאלה
פונקציות. המהדר משתמש במפות סוג כדי לקבוע כיצד למפות פרמטרים של פונקציית C ו
משתנים לערכי Perl.
המהדר יחפש קבצי מפת סוג בשם מפת סוג. זה ישתמש בדברים הבאים
נתיב חיפוש למציאת מפות סוג ברירת מחדל, כאשר מפת ההקלדה הימנית ביותר מקבלת עדיפות.
../../../typemap:../../typemap:../typemap:typemap
זה גם ישתמש במפת סוג ברירת מחדל המותקנת בתור "ExtUtils::typemap".
אפשרויות
שים לב שניתן להשתמש באפשרות "XSOPT" MakeMaker כדי להוסיף את האפשרויות הללו לכל קובץ MakeMaker
נוצר על ידי MakeMaker.
-הסוג
שומר על '::' בשמות טיפוסים כך שניתן למפות טיפוסים היררכיים של C++.
-מלבד
מוסיף קטעי טיפול בחריגים לקוד C.
-מפת סוג מפת סוג
מציין שמפת סוג שסופק על ידי המשתמש צריכה לקבל עדיפות על ברירת המחדל
מפות דפוס. ניתן להשתמש באפשרות זו מספר פעמים, כאשר מפת ההדפסה האחרונה כוללת את
עדיפות גבוהה ביותר.
-תְפוּקָה שם הקובץ
מציין את השם של קובץ הפלט להפקה. אם לא צוין קובץ, פלט
ייכתב לפלט סטנדרטי.
-v מדפיס את xsubpp מספר גרסה לפלט סטנדרטי, ואז יוצא.
-אב טיפוס
כברירת מחדל xsubpp לא יפיק אוטומטית קוד אב טיפוס עבור כל ה-xsubs. זֶה
הדגל יאפשר אבות טיפוס.
-בדיקת noversion
משבית את מבחן זמן הריצה הקובע אם קובץ האובייקט (נגזר מה-".xs"
file) ולקבצי ".pm" יש אותו מספר גרסה.
-נולינאמברס
מונע הכללה של הנחיות '#line' בפלט.
-ללא אופטימיזציה
משבית אופטימיזציות מסוימות. האופטימיזציה היחידה שמושפעת כרגע היא
השימוש יעדs לפי קוד הפלט C (ראה perlguts). זה עשוי להאט באופן משמעותי
למטה את הקוד שנוצר, אבל זו הדרך xsubpp של 5.005 ומעלה פעלו.
-לא חסר
השבת את הזיהוי של הצהרות "IN", "OUT_LIST" ו-"INOUT_LIST".
-נוארטיפוסים
השבת זיהוי של תיאורים דמויי ANSI של חתימת פונקציה.
-C ++ כרגע לא עושה כלום בכלל. דגל זה היה ללא הפעלה עבור גרסאות רבות
של perl, לפחות עד perl5.003_07. מותר כאן לאחור
תאימות.
-s=... or -רצועה=...
זֶה אוֹפְּצִיָה is העכור ו מיואש.
אם צוין, המחרוזת הנתונה תוסר מתחילת ה-C
שם הפונקציה בפונקציות XS שנוצרו (אם הוא מתחיל בקידומת זו). זֶה
חל רק על XSUBs ללא בלוקים "CODE" או "PPCODE". לדוגמה, ה-XS:
void foo_bar(int i);
כאשר "xsubpp" מופעל עם "-s foo_" יתקין פונקציה "foo_bar" ב- Perl,
אבל באמת קוראים ל-bar(i) ב-C. רוב הזמן, זה ההפך ממה שאתה רוצה
ומצבי כשל הם מעט מעורפלים, אז נא להימנע מאפשרות זו במידת האפשר.
הסביבה
לא נעשה שימוש במשתני סביבה.
השתמש ב-xsubppp באופן מקוון באמצעות שירותי onworks.net