PDL::PP-Inlinep - آنلاین در ابر

این دستور PDL::PP-Inlinep است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


Inline::Pdlpp - نوشتن زیربرنامه های PDL به صورت خطی با PDL::PP

شرح


"Inline::Pdlpp" ماژولی است که به شما اجازه می دهد تا زیر روال های PDL را به سبک PDL::PP بنویسید.
مزیت بزرگ در مقایسه با "PDL::PP" ساده این است که می توانید این تعاریف را به صورت خطی بنویسید
در هر اسکریپت قدیمی پرل (بدون دردسر معمولی ایجاد Makefiles، ساختن و غیره).
از نسخه 0.30 ماژول Inline از چندین زبان برنامه نویسی و هر کدام پشتیبانی می کند
زبان ماژول پشتیبانی خود را دارد. این سند نحوه استفاده از Inline with را شرح می دهد
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 استفاده کنید. # باید قبل از تماس های "use Pdlpp Inline" (!) فراخوانی شود

از Pdlpp درون خطی استفاده کنید. # کد واقعی در بلوک __Pdlpp__ زیر است

$a = دنباله 10;
print $a->inc,"\n";
print $a->inc->dummy(1,10)->tcumul,"\n";

__داده ها__

__Pdlpp__

pp_def('inc',
پارس => 'i();[o] o()',
کد => '$o() = $i() + 1;',
);

pp_def('tcumul',
پارس => '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 10 XNUMX]
[3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 XNUMX]

استفاده از "Inline::Pdlpp" به طور کلی مشابه "Inline::C" است. در غیاب کامل
اسناد برای "Inline::Pdlpp" ممکن است بخواهید Inline::C را مقایسه کنید.

رمز که استفاده خارجی کتابخانه ها، و غیره
اسکریپت زیر تا حدودی پیچیده تر است زیرا از کدهای خارجی استفاده می کند
کتابخانه (در اینجا از دستورهای عددی). تمام اطلاعات مربوطه در مورد شامل
فایل ها، کتابخانه ها و کد بوت در یک فراخوانی پیکربندی به "Inline" مشخص شده است. برای بیشتر
هکرهای باتجربه پرل ممکن است مفید باشد که بدانید فرمت مشابه آن است
با ExtUtils::MakeMaker استفاده می شود. کلمات کلیدی تا حد زیادی معادل آنهایی هستند که با آنها استفاده می شود
"Inline::C". لطفاً برای جزئیات بیشتر در مورد استفاده از "INC"، "LIBS"، به زیر مراجعه کنید.
"AUTO_INCLUDE" و "BOOT".

از PDL استفاده کنید. # این باید قبل از تماس های «use Pdlpp Inline» (!) فراخوانی شود

از Inline Pdlpp => Config => استفاده کنید
INC => "-I$ENV{HOME}/include"،
LIBS => "-L$ENV{HOME}/ lib -lnr -lm"
# کد در XS تولید شده گنجانده شود
AUTO_INCLUDE => <<'EOINC'،
#عبارتند از
#include "nr.h" /* for poidev */
#include "nrutil.h" /* for err_handler */

استاتیک void nr_barf (char *err_txt)
{
fprintf(stderr"Now calling croak...\n");
croak("خطای زمان اجرا NR: %s",err_txt);
}
EOINC
# هنگام بارگیری کد Inline::Pdlpp، کنترل کننده خطا را نصب کنید
BOOT => 'set_nr_err_handler(nr_barf);';

از Pdlpp درون خطی استفاده کنید. # کد واقعی در بلوک __Pdlpp__ زیر است

$a = صفر(10) + 30;;
چاپ $a->پویدف(5)،"\n";

__داده ها__

__Pdlpp__

pp_def('poidev',
پارس => 'xm(); [o] pd()'،
GenericTypes => [L,F,D],
OtherPars => 'long idum',
کد => '$pd() = poidev((float) $xm(), &$COMP(idum));',
);

Pdlpp پیکر بندی گزینه


برای اطلاعات در مورد نحوه تعیین گزینه های پیکربندی Inline، به Inline مراجعه کنید. این بخش
هر یک از گزینه های پیکربندی موجود برای Pdlpp را شرح می دهد. اکثر گزینه ها
مطابق با گزینه های MakeMaker یا XS با همین نام است. ExtUtils::MakeMaker و را ببینید
perlxs.

AUTO_INCLUDE
بیانیه های اضافی را برای گنجاندن خودکار مشخص می کند. آنها به اضافه خواهند شد
پیش فرض ها یک کاراکتر خط جدید به طور خودکار اضافه خواهد شد. اساساً مانند تماس است
به "pp_addhdr". برای بیت های کوتاه کد "AUTO_INCLUDE" احتمالاً از نظر نحوی زیباتر است.

از Pdlpp درون خطی استفاده کنید => پیکربندی => AUTO_INCLUDE => '#include "yourheader.h"';

نعمت
مانند دستور "pp_bless". بسته (یعنی کلاس) را مشخص می کند که جدید شما به آن مربوط می شود pp_defed
روش ها اضافه خواهد شد. در صورت حذف به طور پیش فرض به "PDL" تبدیل می شود.

از Inline Pdlpp => Config => BLESS => 'PDL::Complex';

BOOT
کد C را مشخص می کند تا در قسمت XS BOOT اجرا شود. مربوط به پارامتر XS است.
مانند دستور "pp_add_boot" عمل می کند. اغلب برای اجرای کد فقط یک بار در بارگذاری استفاده می شود
زمان ماژول، به عنوان مثال یک تماس اولیه کتابخانه.

CC
مشخص کنید از کدام کامپایلر استفاده کنید.

CCFLAGS
پرچم های اضافی کامپایلر را مشخص کنید.

INC
یک مسیر شامل را برای استفاده مشخص می کند. مربوط به پارامتر MakeMaker است.

از Inline Pdlpp => Config => INC => '-I/inc/path' استفاده کنید.

LD
مشخص کنید از کدام پیوند دهنده استفاده کنید.

پرچم های LDDL
مشخص کنید از کدام پرچم های پیوند دهنده استفاده کنید.

توجه: این پرچم‌ها به‌جای افزودن به پرچم‌های موجود، کاملاً لغو می‌شوند
آنها بنابراین اگر شما نیز نیاز به استفاده از آنها دارید، باید آنها را در اینجا دوباره مشخص کنید.

LIBS
کتابخانه های خارجی را که باید به کد شما پیوند داده شوند را مشخص می کند. مربوط به
پارامتر MakeMaker.

از Inline Pdlpp => Config => LIBS => '-lyourlib';

or

از Inline Pdlpp => Config => LIBS => '-L/your/path -lyourlib';

خلق کنید
نام ابزار "make" مورد استفاده را مشخص کنید.

MYEXTLIB
یک شی کامپایل شده توسط کاربر را مشخص می کند که باید به آن پیوند داده شود. مربوط به MakeMaker است
پارامتر.

از Pdlpp درون خطی استفاده کنید => پیکربندی => MYEXTLIB => '/your/path/yourmodule.so';

بهینه سازی کنید
این تنظیمات MakeMaker OPTIMIZE را کنترل می کند. با تنظیم این مقدار به '-g'، می توانید بچرخانید
پشتیبانی از اشکال زدایی برای برنامه های افزودنی Inline شما. این به شما امکان می دهد بتوانید تنظیم کنید
نقاط شکست در کد C شما با استفاده از یک دیباگر مانند gdb.

TYPEMAPS
فایل های نوع نقشه اضافی را برای استفاده مشخص می کند. مربوط به پارامتر MakeMaker است.

از Inline Pdlpp => Config => TYPEMAPS => '/your/path/typemap';

پر سر و صدا
خروجی هر مجموعه ای را که در پشت صحنه انجام می شود نشان دهید. از "تی" استفاده می کند که باید باشد
در رایانه شما موجود است. پیش فرض خاموش است.

از PDL::PP-Inlinep به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید



جدیدترین برنامه های آنلاین لینوکس و ویندوز