小编PLK*_*PLK的帖子

使旧的库与Perl XS和PerlIO一起使用

我宁愿一个XS初学者,我期待到改变其采用了15+岁的底层C库大量现有的XS模块(其实模块基本上是粘合到该库).问题是我希望能够使用PerlIO字符串技巧:

open($fh, '<', \$string);
Run Code Online (Sandbox Code Playgroud)

然后传递$fh到库所期望的XS胶水FILE.问题是XS有:

int
_parse (entry_ref, filename, file, preserve=FALSE)
    SV *    entry_ref;
    char *  filename;
    FILE *  file;
    boolean preserve;
Run Code Online (Sandbox Code Playgroud)

我认为它需要是:

PerlIO *  file;
Run Code Online (Sandbox Code Playgroud)

这当然不起作用,因为它必须有更多.当我查看_parse库中的代码时,它最终会出现:

AST * bt_parse_entry (FILE *    infile,
                      char *    filename,
                      btshort    options,
                      boolean * status)
{
   AST *         entry_ast = NULL;
   static int *  err_counts = NULL;
   static FILE * prev_file = NULL;
Run Code Online (Sandbox Code Playgroud)

FILE再次与类型.现在我必须要开始的基本问题是 - 这是否可以在不改变库的情况下实现; 也就是说,我可以通过更改XS从字符串PerlIO行为中获取伪文件句柄吗?

perl xs perl-io

8
推荐指数
1
解决办法
221
查看次数

OSX Notarize 可执行文件(不是应用程序)

我维护操作系统软件,该软件作为 Mach-O 可执行文件以 zip 形式分发。它没有打包为应用程序。我可以毫无问题地对其进行协同设计,但我能找到的所有对公证的引用都在谈论.apps。有谁知道如何公证简单的可执行文件?

macos code-signing notarize

2
推荐指数
1
解决办法
1360
查看次数

标签 统计

code-signing ×1

macos ×1

notarize ×1

perl ×1

perl-io ×1

xs ×1