Описание тега xs
Расширение языка для Perl, которое может обернуть библиотеку C, чтобы сделать ее библиотекой Perl.
0
ответов
Perl XS: ссылка на общую библиотеку
Я довольно новичок в Perl, и я пытаюсь использовать XS для вызова определенной функции C из моего скрипта Perl. Я пытаюсь вызвать функцию C из тестового скрипта. Я получаю следующую ошибку при запуске "make test" - PERL_DL_NONLAZY=1 /usr/bin/perl "-…
14 окт '16 в 11:37
2
ответа
Определение номера строки и имени файла perl из C++
Я работаю с Perl, встроенным в наше приложение. Мы установили довольно много функций C++, которые вызываются из Perl. Одним из них является функция регистрации. Я хотел бы добавить имя файла и номер строки файла Perl, вызвавшего эту функцию, в сообщ…
12 дек '11 в 23:26
3
ответа
Разоблачение функции c на Perl с использованием XS
У меня есть несколько функций c в этом формате: int function(const char* input, size_t len, char result[]) ; где int тип возвращаемого значения; result[] содержит строку, которую заполняет функция что лучше всего написать такую функцию как XS и вы…
18 июл '14 в 20:07
2
ответа
Могу ли я использовать модуль, а затем выгрузить его, чтобы уменьшить его размер?
Отказ от ответственности Я не уверен, что я использую правильные термины. Это не может быть optree, ответственный за раздувание, упомянутое ниже: это могут быть символы, загруженные DynaLoader которые не освобождены. Можно ли использовать такой моду…
13 окт '17 в 21:27
1
ответ
Почему статические переменные в xsub не являются потокобезопасными?
В соответствии с perldoc threads: Начиная с Perl 5.8, доступно программирование потоков с использованием модели, называемой потоками интерпретатора, которая предоставляет новый интерпретатор Perl для каждого потока и, по умолчанию, не приводит к обм…
13 ноя '18 в 18:45
1
ответ
Как использовать B::Hooks для управления парсером Perl
Я смотрю, чтобы играть с Perl парсером манипуляций. Похоже, различные B::Hooks модули - это то, что люди используют. Я размышлял: Лучшее место для тех, у кого нет XS опыт (пока). Любые соответствующие сообщения в блоге? Сколько работы потребуется дл…
23 май '15 в 15:25
0
ответов
Пример программы C работает, но существующая многопоточная программа C++ прерывается в Perl_sv_upgrade в Perl 5.16.0
В Perl 5.16.0 пример программы на C работает, но существующая многопоточная программа прерывается в Perl_sv_upgrade, Многопоточная программа отлично работает с Perl 5.8.8. Один и тот же код работает в Linux и Solaris с Perl 5.16.0. Сравнивая sv Знач…
04 окт '12 в 13:34
1
ответ
Perl XS: управление памятью
Я абсолютно новичок в Perl XS. Моя простая тестовая функция получает строку и добавляет что-то. В Perl есть скалярная строка в и одна из. В функции у меня есть malloc. Какой правильный способ освободить мем? SV *foo (str) SV *str CODE: unsigned char…
12 июл '16 в 20:04
0
ответов
Подделка стандартного ввода для функции XS
Я пытаюсь протестировать функцию, которая читает из стандартного ввода, перенаправляя стандартный ввод для чтения из файла, более или менее, как рекомендовано здесь Вот сценарий: use strict; use warnings; use Term::EditLine qw(CC_EOF); use v5.14; my…
02 дек '18 в 09:28
0
ответов
Makefile.PL проверяет, найден ли исходный каталог
Я использую ExtUtils::MakeMaker для создания Makefile.PL Я добавил следующую функцию в makefile.PL, чтобы проверить, существует ли исходный каталог sub check_directory { my ($argv) = @_; unless (defined $argv->{'source'} and -d $argv->{'source…
22 июл '15 в 15:50
1
ответ
Как я могу создать подкласс DBI, чтобы скрыть учетные данные пользователя?
Я хочу подкласс DBI модуль для скрытия connect подпрограмма с кодом C. Например, у меня есть: $dbh = DBI->connect($data_source, $username, $auth, \%attr); Я хочу написать код C, который вызывает выше DBI->connect подпрограмма и возвращает $dbh…
26 мар '14 в 20:43
1
ответ
Предотвратите исключение C++ от сбоя моего сценария Perl
У меня есть сценарий Perl, который использует библиотеку C++, которая, вероятно, обернута с помощью xs. Когда библиотека выдает исключение, она ломает мой Perl-скрипт, даже когда вызывается изнутри eval, Как я могу пропустить исключение и предотврат…
19 июл '14 в 10:04
1
ответ
Как сказать MakeMaker для сборки файлов XS в подкаталоге?
У меня большой проект, к которому я только что добавил код XS, и я хотел бы сохранить каталог верхнего уровня настолько чистым, насколько это возможно. Я хочу поместить файл XS и typemap et al. в подкаталог, но если я это сделаю, MakeMaker не может …
15 мар '12 в 13:34
2
ответа
Модуль сборки perl с исходным кодом c из другого модуля
Я работаю над модулем, который я хотел бы иметь два бэкэнда, Module(::PerlArray) а также Module::PDL (который может зависеть от Module). Оба нуждаются в доступе к functions.c/.h файл для строительства. Этот файл имеет довольно сложную логику, необхо…
12 окт '11 в 14:36
2
ответа
C++ вызывает Perl-код - eval_sv не передает аргументы скрипту
У меня есть пример программы, которая помещает аргументы в стек Perl и затем вызывает "eval_sv". Примеры операторов Perl выполняются, но я не могу получить переменные, переданные из C++ в качестве аргументов Perl. Пожалуйста, дайте мне знать, что мн…
13 сен '12 в 09:57
1
ответ
Вызов подпрограммы perl с параметрами
Мне нужно вызвать процедуру Perl в моей C-программе. Процедура perl принимает следующие аргументы: $a, $b, $c, где $a а также $b целые числа, $c является строкой (может содержать двоичные символы) Согласно perlcall, вот средства совершения звонка. I…
11 апр '14 в 15:37
2
ответа
Как я могу передать массив функции C в Perl XS?
Как передать массив Perl по ссылке на модуль C XS? my @array = ( 1..20 ); XSTEST::test_array_passing(\@array); Что мне делать в XS, чтобы он видел массив?
01 окт '09 в 12:48
3
ответа
Как я могу использовать связанный список C из Perl XS?
Я писал программирование на Perl и XS. Мне нужно отобразить и выполнить некоторые операции, которые используют связанный список из C. Как я могу это сделать?
11 июн '09 в 14:31
3
ответа
Есть ли способ получить доступ к специальным токенам в Perl из XS?
В Perl специальные токены вроде __PACKAGE__, __SUB__, __FILE__, __LINE__ существует и доступен из скрипта. Я могу получить значение __PACKAGE__ от XS как HvNAME( PL_currstash ), Я полагаю.Но как получить доступ к другим? Есть ли специальный интерфей…
06 мар '17 в 15:50
1
ответ
Perl XS и C++ передают указатель на буфер
Я почти не знаю C++, так что это не помогает, и мой XS не намного лучше. Я создаю интерфейс XS для библиотеки C++, и у меня работают почти все мои методы, кроме одного. Метод в Perl должен выглядеть так: $return_data = $obj->readPath( $path ); Ме…
22 июл '12 в 04:19