PDL::PP-Inlinep - מקוון בענן

זוהי הפקודה PDL::PP-Inlinep שניתן להפעיל בספק האחסון החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


Inline::Pdlpp - כתוב תתי שגרות PDL בשורה עם PDL::PP

תיאור


"Inline::Pdlpp" הוא מודול המאפשר לך לכתוב תתי שגרות PDL בסגנון PDL::PP.
היתרון הגדול בהשוואה ל"PDL::PP" רגיל הוא שאתה יכול לכתוב את ההגדרות האלה בשורה
בכל סקריפט perl ישן (ללא הטרחה הרגילה של יצירת Makefiles, בנייה וכו').
מאז גרסה 0.30, מודול Inline תומך במספר שפות תכנות ובכל אחת מהן
לשפה יש מודול תמיכה משלה. מסמך זה מתאר כיצד להשתמש ב-Inline עם
PDL::PP (או ליתר דיוק, זה יהיה ברגע שהמסמכים האלה יושלמו ";)".

למידע נוסף על Inline באופן כללי, ראה Inline.

ניתן למצוא כמה סקריפטים לדוגמה המדגימים שימוש ב-"Inline::Pdlpp" ב-
דוגמה/InlinePdlpp במדריך.

"Inline::Pdlpp" הוא בעיקר קרע חסר בושה של "Inline::C". רוב הכבוד מגיע לבריאן הראשון.

נוֹהָג


אתה אף פעם לא משתמש ישירות ב-"Inline::Pdlpp". זה רק מודול תמיכה לשימוש
"Inline.pm" עם "PDL::PP". אז השימוש הוא תמיד:

השתמש ב-Inline Pdlpp => ...;

or

bind Inline Pdlpp => ...;

דוגמאות


בהמתנה לזמינות של מסמכים מלאים, כמה דוגמאות מהירות הממחישות שימוש טיפוסי.

A פשוט דוגמה
# סקריפט לדוגמה inlpp.pl
השתמש ב-PDL; יש לקרוא ל-# לפני (!) קריאות 'השתמש ב-Pdlpp'

השתמש ב-Inline Pdlpp; # הקוד בפועל נמצא בבלוק __Pdlpp__ למטה

$a = רצף 10;
הדפס $a->inc,"\n";
הדפס $a->inc->dummy(1,10)->tcumul,"\n";

__DATA__

__Pdlpp__

pp_def('inc',
Pars => 'i();[o] o()',
קוד => '$o() = $i() + 1;',
);

pp_def('tcumul',
Pars => 'in(n);[o] mul()',
קוד => '$mul() = 1;
לולאה(n) %{
$mul() *= $in();
%}',
);
# סקריפט דוגמה לסיום

אם אתה קורא לסקריפט הזה הוא אמור ליצור פלט דומה לזה:

prompt> perl inlpp.pl
מופעל PDL::PP גרסה 2.2...
[1 2 3 4 5 6 7 8 9
[3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800

השימוש ב-"Inline::Pdlpp" באופן כללי דומה ל-"Inline::C". בהעדר מלא
מסמכים עבור "Inline::Pdlpp" אולי תרצה להשוות את Inline::C.

קופונים זֶה שימושים חיצוני ספריות, וכו '
התסריט למטה הוא קצת יותר מסובך בכך שהוא משתמש בקוד חיצוני
ספרייה (כאן מתוך מתכונים מספריים). כל המידע הרלוונטי לגבי כולל
קבצים, ספריות וקוד אתחול מצוינים בקריאה לתצורה ל-"Inline". לעוד
האקרים מנוסים של Perl, אולי יעזור לדעת שהפורמט דומה לזה
בשימוש עם ExtUtils::MakeMaker. מילות המפתח שוות במידה רבה לאלו המשמשות עם
"Inline::C". אנא ראה להלן לפרטים נוספים על השימוש ב-"INC", "LIBS",
"AUTO_INCLUDE" ו-"BOOT".

השתמש ב-PDL; # יש לקרוא לזה לפני (!) קריאות 'השתמש ב-Pdlpp'

השתמש ב-Inline Pdlpp => Config =>
INC => "-I$ENV{HOME}/include",
LIBS => "-L$ENV{HOME}/ lib -lnr -lm",
# קוד שייכלל ב-XS שנוצר
AUTO_INCLUDE => <<'EOINC',
#לִכלוֹל
#include "nr.h" /* עבור poidev */
#include "nrutil.h" /* עבור err_handler */

ריק סטטי nr_barf(char *err_txt)
{
fprintf(stderr,"Now calling croak...\n");
croak("NR error time run: %s",err_txt);
}
EOINC
# התקן את מטפל השגיאות שלנו בעת טעינת הקוד Inline::Pdlpp
BOOT => 'set_nr_err_handler(nr_barf);';

השתמש ב-Inline Pdlpp; # הקוד בפועל נמצא בבלוק __Pdlpp__ למטה

$a = אפסים(10) + 30;;
הדפס $a->poidev(5),"\n";

__DATA__

__Pdlpp__

pp_def('poidev',
Pars => 'xm(); [o] pd()',
GenericTypes => [L,F,D],
OtherPars => 'אידום ארוך',
Code => '$pd() = poidev((float) $xm(), &$COMP(idum));',
);

Pdlpp תְצוּרָה אפשרויות


למידע על אופן ציון אפשרויות תצורה מוטבעות, ראה Inline. חלק זה
מתאר כל אחת מאפשרויות התצורה הזמינות עבור Pdlpp. רוב האפשרויות
תואמות לאפשרויות MakeMaker או XS באותו שם. ראה ExtUtils::MakeMaker ו
perlxs.

AUTO_INCLUDE
מציין הצהרות נוספות להכללה אוטומטית. הם יתווספו ל-
ברירות מחדל. תו קו חדש יתווסף אוטומטית. עושה בעצם אותו דבר כמו שיחה
אל "pp_addhdr". עבור פיסות קוד קצרות, "AUTO_INCLUDE" כנראה נחמד יותר מבחינה תחבירית.

השתמש ב-Inline Pdlpp => Config => AUTO_INCLUDE => '#include "yourheader.h"';

לברך
זהה לפקודה "pp_bless". מציין את החבילה (כלומר מחלקה) שאליה החדש שלך pp_defed
יתווספו שיטות. ברירת המחדל היא "PDL" אם מושמט.

השתמש ב-Inline Pdlpp => Config => BLESS => 'PDL::Complex';

מַגָף
מציין את קוד C לביצוע בקטע XS BOOT. מתאים לפרמטר XS.
עושה אותו דבר כמו הפקודה "pp_add_boot". משמש לעתים קרובות לביצוע קוד רק פעם אחת בעת טעינה
זמן המודול, למשל קריאת אתחול הספרייה.

CC
ציין באיזה מהדר להשתמש.

CCFLAGS
ציין דגלי מהדר נוספים.

INC
מציין נתיב כלול לשימוש. מתאים לפרמטר MakeMaker.

השתמש ב-Inline Pdlpp => Config => INC => '-I/inc/path';

LD
ציין באיזה מקשר להשתמש.

LDDLFLAGS
ציין באילו דגלי קישור להשתמש.

הערה: דגלים אלה יעקפו לחלוטין את הדגלים הקיימים, במקום רק להוסיף
אוֹתָם. אז אם אתה צריך להשתמש גם באלה, עליך לפרט אותם כאן.

LIBS
מציין ספריות חיצוניות שאמורות להיות מקושרות לקוד שלך. מקביל ל
פרמטר MakeMaker.

השתמש ב-Inline Pdlpp => Config => LIBS => '-lyourlib';

or

השתמש ב-Inline Pdlpp => Config => LIBS => '-L/your/path -lyourlib';

MAKE
ציין את השם של כלי השירות 'make' לשימוש.

MYEXTLIB
מציין אובייקט מהידור משתמש שצריך לקשר אליו. מתאים ל-MakeMaker
פָּרָמֶטֶר.

השתמש ב-Inline Pdlpp => Config => MYEXTLIB => '/your/path/yourmodule.so';

אופטימיזציה
זה שולט בהגדרת MakeMaker OPTIMIZE. על ידי הגדרת ערך זה ל'-g', אתה יכול להפוך
על תמיכת איתור באגים עבור ההרחבות המוטבעות שלך. זה יאפשר לך להיות מסוגל להגדיר
נקודות שבירה בקוד C שלך באמצעות מאתר באגים כמו gdb.

TYPEMAPS
מציין קבצי מפת סוג נוספים לשימוש. מתאים לפרמטר MakeMaker.

השתמש ב-Inline Pdlpp => Config => TYPEMAPS => '/שלך/נתיב/מפת סוג';

רוֹעֵשׁ
הצג את הפלט של כל אוסף המתרחש מאחורי הקלעים. משתמש ב"טי" שחייב להיות
זמין במחשב שלך. ברירת המחדל כבויה.

השתמש ב-PDL::PP-Inlinep באינטרנט באמצעות שירותי onworks.net



התוכניות המקוונות האחרונות של לינוקס ו-Windows