cost 265 ms
如何在 XSUB 中使用 perlapi / XS 进行 perl 数组元素的插入和移除 - How to use perlapi / XS in an XSUB for perl array element insertion and removal

我想在传递给 XSUB 的现有 perl 数组中插入和删除元素。 perlapi有av_push 、 av_pop 、 av_fetch 、 av_store和朋友用于数组操作。 我希望有“av_insert”或“av_splice”或类似的功能,但这些似乎不存在。 有av_delete ,但文档 ...

Perl XS:创建并返回字符串数组 (char*),取自调用 C function 或失败时的 undef - Perl XS: create and return array of strings (char*) taken from calling a C function or undef on failure

我有 Perl XS 代码,它从返回char ** (字符串数组)的外部 C 库调用 function。 XS 代码最终将返回 Perl 一个数组引用,其中包含所有字符串结果。 或者undef失败。 我有两个问题: 在程序退出时,我得到一个核心转储,其中包含有关 memory 损坏、双重释放等的 ...

如何避免 SvPV() 与 utf8n_to_uvchr() 的警告 [-Wpointer-sign] - XS 错误? - How to avoid warning [-Wpointer-sign] of SvPV() versus utf8n_to_uvchr() - bug of XS?

这是 XS 的相关部分,它应该将 Perl 字符串从 UTF-8 转换为代码点(无符号 32 位整数): 它抛出这个警告: 它有效并通过了我的测试。 但是,如果我想将其交付给 CPAN,则分发不应发出警告。 在 C 中用自己的代码解码它是一种解决方法(而且速度更快)。 对我来说,它看起来像是 XS ...

2022-02-14 17:47:18   1   109    perl / xs  
如何告诉 MakeMaker 准确添加我想要的库? - How to tell MakeMaker to add exactly the libraries I want?

我正在使用 XS 创建一个使用 C 库的 Perl 模块。 出于测试目的,我创建了一个测试库,它具有两个简单的功能: 我还在 XS 中创建了一些胶水,以便现在访问 kzA() 函数:(我只展示了函数本身,但包含也在 XS 中) 因此,我将测试库编译为 fc.so,它与我的 xs 文件和我的 M ...

2021-07-07 09:19:35   1   53    perl / xs  
当共享库已经映射到进程空间时,是否可以编写 XS 模块? - Is it possible to write an XS module when the shared library is already mapped into the process space?

这是在我所知道的范围内,请在此处纠正任何混淆。 在这个问题中,我问为什么libm提供的功能尚未通过 Perl 接口向用户公开。 现在我想知道它是如何完成的。 CPAN 上有一个声称可以做的模块Math::Libm 。 这很好用,但是作为一个关于实现的问题,当我使用它时,我发现不仅 libm 被映 ...

我的 Perl XS 代码中的内存泄漏在哪里? - Where is the memory leak in my Perl XS code?

我有一个用 C++ 编写的大型程序,并使用 Inline::CPP 从 Perl 执行。 代码似乎使用了大量内存,所以我假设存在某种泄漏。 我编写了以下代码来重现相同的问题,但要简单得多。 当我循环代码 1,000,000 次以测试代码的性能时,我发现了泄漏。 这个简单的 Perl 脚本使用 828 ...

您如何检查 object 是否使 XS 中的运算符超载? - How do you check to see if an object overloads an operator in XS?

如果我的 XS function 已通过包含祝福 object 的 SV,我如何检查该 object 是否重载了特定的 Perl 运算符? 例如,重载"" 。 我能想到的一种方法是遍历它的 class 和所有父类,寻找一个名为(""的方法。虽然这听起来有点恶心,但当你考虑后备时它会变得复杂。(后备 ...

寻找一种从辅助函数调用 Perl XS C API 函数/宏的方法 - Looking for a way to call Perl XS C API functions/macros from helper functions

我一直在试验 Perl XS C API 并遇到了障碍。 我在下面简化了我的示例。 假设现有的 struct MyObject 然后访问属性“a”或“b”并为其中一个创建 hash,我可以使用以下代码: 我想做的是像这样分享实用程序 function 中的一些功能 但是,当我在 create_obj ...

2020-07-21 01:58:53   1   72    c / perl / xs  
使用 call_sv() 将数组引用传递给 perl 回调,我应该使用 newRV() 还是 newRV_noinc()? - Passing an array reference to a perl callback using call_sv(), should I use newRV() or newRV_noinc()?

我有这个 XS 代码( XsTest.xs ): 我试图弄清楚是在第 41 行使用newRV_inc()还是newRV_noinc() 。 Perl 回调在测试脚本p.pl中定义: 运行 p.pl 的p.pl是: 据我所知,如果我使用newRV_inc() : 调用newAV()时, array ...

2019-10-08 10:08:38   1   32    perl / xs  
为什么xsub中的静态变量不是线程安全的? - Why are static variables in an xsub not thread safe?

根据perldoc threads : 从Perl 5.8开始,可以使用称为解释器线程的模型进行线程编程,该模型为每个线程提供一个新的Perl解释器,并且默认情况下,不会在线程之间共享任何数据或状态信息。 上面的引用中指的是哪种类型的data或state信息? 根据perld ...

在CPAN上部署xs模块 - deploying xs module on CPAN

我正在寻找不同的xs cpan模块,它们不包含它们绑定的库的actucal源代码, 例如在这个库上https://st.aticpan.org/source/NANIS/Net-Sharktools-0.009/ xs模块: https : //st.aticpan.org/source/ ...

2018-10-16 17:09:46   1   57    perl / xs  

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM