PDL::PP-Inlinep — online w chmurze

To jest polecenie PDL::PP-Inlinep, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


Inline::Pdlpp - Zapisuj podprogramy PDL w linii z PDL::PP

OPIS


"Inline::Pdlpp" to moduł, który umożliwia pisanie podprogramów PDL w stylu PDL::PP.
Dużą zaletą w porównaniu ze zwykłym „PDL::PP” jest to, że możesz pisać te definicje bezpośrednio
w dowolnym starym skrypcie perla (bez normalnego kłopotu z tworzeniem plików Makefile, budowaniem itp.).
Od wersji 0.30 moduł Inline obsługuje wiele języków programowania i każdy
język posiada własny moduł wsparcia. Ten dokument opisuje, jak korzystać z funkcji Inline z
PDL::PP (a raczej zrobi to, gdy te dokumenty będą kompletne ";)".

Aby uzyskać więcej ogólnych informacji o Inline, zobacz Inline.

Kilka przykładowych skryptów demonstrujących użycie "Inline::Pdlpp" można znaleźć w
Przykład/InlinePdlpp katalogiem.

„Inline::Pdlpp” to w większości bezwstydne zdzierstwo „Inline::C”. Większość Kudo trafia do Briana I.

Stosowanie


Nigdy nie używasz bezpośrednio „Inline::Pdlpp”. To tylko moduł wsparcia do użycia
„Inline.pm” z „PDL::PP”. Więc użycie jest zawsze:

użyj Inline Pdlpp => ...;

or

bind Inline Pdlpp => ...;

Przykłady


W oczekiwaniu na udostępnienie pełnych dokumentów kilka krótkich przykładów ilustrujących typowe użycie.

A prosty przykład
# przykładowy skrypt inlpp.pl
użyj PDL; # należy wywołać przed (!) wywołaniami „użyj Inline Pdlpp”

użyj wbudowanego Pdlpp; # rzeczywisty kod znajduje się w bloku __Pdlpp__ poniżej

$a = sekwencja 10;
print $a->inc,"\n";
wypisz $a->inc->dummy(1,10)->tcumul,"\n";

__DANE__

__Pdlpp__

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

pp_def('tcumul',
Pars => 'in(n);[o] mul()',
Kod => '$mul() = 1;
pętla(n) %{
$mul() *= $w();
%} ”,
);
# koniec przykładowego skryptu

Jeśli wywołasz ten skrypt, powinien wygenerować dane wyjściowe podobne do tego:

podpowiedź> perl inlpp.pl
Inline działający PDL::PP w wersji 2.2...
[1 2 3 4 5 6 7 8 9 10]
[3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800]

Ogólnie rzecz biorąc, użycie „Inline::Pdlpp” jest podobne do „Inline::C”. W przypadku braku pełnego
dokumentacja dla "Inline::Pdlpp", możesz chcieć porównać Inline::C.

Code że zastosowania zewnętrzny biblioteki, itp
Poniższy skrypt jest nieco bardziej skomplikowany, ponieważ używa kodu z zewnętrznego
biblioteka (tutaj z Receptur Numerycznych). Wszystkie istotne informacje dotyczące obejmują
pliki, biblioteki i kod rozruchowy są określone w wywołaniu konfiguracji „Inline”. Więcej
doświadczonych hakerów Perla, warto wiedzieć, że format jest podobny do tego
używane z ExtUtils::MakeMaker. Słowa kluczowe są w dużej mierze równoważne ze słowami używanymi z
„Inline::C”. Poniżej znajdują się dalsze szczegóły dotyczące używania „INC”, „LIBS”,
„AUTO_INCLUDE” i „BOOT”.

użyj PDL; # to musi być wywołane przed (!) wywołaniami 'use Inline Pdlpp'

użyj Inline Pdlpp => Konfiguracja =>
INC => "-I$ENV{HOME}/include",
LIBY => "-L$ENV{HOME}/ lib -lnr -lm",
# kod do uwzględnienia w wygenerowanym XS
AUTO_INCLUDE => <<'EOINC',
#zawierać
#include "nr.h" /* dla poidev */
#include "nrutil.h" /* dla err_handler */

statyczna pustka nr_barf(char *err_txt)
{
fprintf(stderr,"Teraz wołam rechot...\n");
rechot("Błąd wykonania NR: %s",err_txt);
}
EOINC
# zainstaluj nasz program obsługi błędów podczas ładowania kodu Inline::Pdlpp
ROZRUCH => 'set_nr_err_handler(nr_barf);';

użyj wbudowanego Pdlpp; # rzeczywisty kod znajduje się w bloku __Pdlpp__ poniżej

$a = zera(10) + 30;;
drukuj $a->poidewa(5),"\n";

__DANE__

__Pdlpp__

pp_def('poidev',
Pars => 'xm(); [o] pd()',
Typy ogólne => [L,F,D],
OtherPars => 'długi idum',
Kod => '$pd() = poidev((zmiennoprzecinkowa) $xm(), &$COMP(idum));',
);

Pdlpp systemu Opcje


Aby uzyskać informacje na temat określania opcji konfiguracji wbudowanej, zobacz wbudowane. Ta sekcja
opisuje każdą z opcji konfiguracyjnych dostępnych dla Pdlpp. Większość opcji
odpowiadają opcjom MakeMaker lub XS o tej samej nazwie. Zobacz ExtUtils::MakeMaker i
Perlxs.

AUTO_INCLUDE
Określa dodatkowe instrukcje do automatycznego dołączenia. Zostaną dodane do
domyślne. Znak nowej linii zostanie dodany automatycznie. Czy zasadniczo to samo, co połączenie
do "pp_addhdr". W przypadku krótkich fragmentów kodu "AUTO_INCLUDE" jest prawdopodobnie ładniejszy składniowo.

użyj Inline Pdlpp => Konfiguracja => AUTO_INCLUDE => '#include "yourheader.h"';

BŁOGOSŁAWIĆ
To samo co polecenie „pp_bless”. Określa pakiet (tj. klasę), do którego twój nowy pp_defed
metody zostaną dodane. Jeśli pominięto, domyślnie jest to „PDL”.

użyj Inline Pdlpp => Konfiguracja => BŁOGOSŁAWIEŃSTWO => 'PDL::Complex';

BOOT
Określa kod C do wykonania w sekcji XS BOOT. Odpowiada parametrowi XS.
Działa tak samo, jak polecenie „pp_add_boot”. Często używany do wykonania kodu tylko raz podczas ładowania
czas modułu, np. wywołanie inicjalizacji biblioteki.

CC
Określ, którego kompilatora użyć.

CCFLAGI
Określ dodatkowe flagi kompilatora.

INC
Określa ścieżkę dołączania do użycia. Odpowiada parametrowi MakeMaker.

użyj Inline Pdlpp => Konfiguracja => INC => '-I/inc/ścieżka';

LD
Określ, którego konsolidatora użyć.

LDDLFLAGI
Określ, które flagi konsolidatora mają być używane.

UWAGA: Te flagi całkowicie zastąpią istniejące flagi, zamiast tylko dodać do
im. Więc jeśli musisz ich również użyć, musisz je tutaj ponownie określić.

LIBY
Określa biblioteki zewnętrzne, które powinny być połączone z kodem. Odpowiada
Parametr MakeMakera.

użyj Inline Pdlpp => Konfiguracja => LIBS => '-lyourlib';

or

użyj Inline Pdlpp => Konfiguracja => LIBS => '-L/twoja/ścieżka -lyourlib';

MAKE
Podaj nazwę narzędzia 'make', którego chcesz użyć.

MYEXTLIB
Określa obiekt skompilowany przez użytkownika, który powinien być połączony. Odpowiada MakeMaker
parametr.

użyj Inline Pdlpp => Config => MYEXTLIB => '/twoja/ścieżka/twójmoduł.so';

BYĆ OPTYMISTĄ
To kontroluje ustawienie MakeMaker OPTIMIZE. Ustawiając tę ​​wartość na „-g”, możesz włączyć
na temat obsługi debugowania rozszerzeń Inline. To pozwoli ci być w stanie ustawić
punkty przerwania w kodzie C za pomocą debugera, takiego jak gdb.

MAPY TYPÓW
Określa dodatkowe pliki map typów do użycia. Odpowiada parametrowi MakeMaker.

użyj Inline Pdlpp => Konfiguracja => TYPEMAPS => '/twoja/ścieżka/mapa typów';

HAŁAŚLIWY
Pokaż dane wyjściowe wszelkich kompilacji zakulisowych. Używa „trójnika”, który musi być
dostępne na twoim komputerze. Domyślnie jest wyłączone.

Korzystaj z PDL::PP-Inlinep online za pomocą usług onworks.net



Najnowsze programy online dla systemów Linux i Windows