如何通过 SPVM 使用 Perl 中的 zlib(一个 C 库)。
查看将 zlib 绑定到 SPVM 的示例
SPVM 它提供了一种绑定 C 语言库并从 Perl 调用它们的方法。
将 C 库绑定到 Perl 时间,通常是写的 XS,但 SPVM 提供另一种方法。
MyZlib.spvm
类 MyZlib { 本机静态方法测试:void($ouf_file:string); }
MyZlib.c
#include“spvm_native.h” #include<stdio.h> #include“zlib.h” 静态 const char* FILE_NAME = "MyZlib.c"; int32_t SPVM__MyZlib__test(SPVM_ENV* env, SPVM_VALUE* 堆栈) { void* obj_out_file = stack[0].oval; 如果(!obj_out_file){ return env->die(env, stack, "$ouf_file 必须定义。", __func__, FILE_NAME, __LINE__); } const char* out_file = env->get_chars(env, stack, obj_out_file); char buf[]="wyznnnnopqrstuv,01234577789abcdefghijklmnopqrstuv"; 整数cnt = 0; gz文件 zp; zp = gzopen(out_file, "w9"); 如果(zp == NULL){ return env->die(env, stack, "gzopen 失败。", "MyZlib.c", __func__, FILE_NAME, __LINE__); } for(cnt = 0;cnt <p>MyZlib.config<br></p> <pre class="brush:php;toolbar:false">使用严格; 使用警告; 使用 SPVM::Builder::Config; 我的 $config = SPVM::Builder::Config->new_gnu99(file => __FILE__); $config->add_lib('z'); $配置;
zlib.pl
使用严格; 使用警告; 使用FindBin; 使用 lib“$FindBin::Bin/lib”; 使用 SPVM 'MyZlib'; 我的 $out_file = "$ENV{HOME}/tmp/output.gz"; SPVM::MyZlib->测试($out_file);
“将输出压缩文件”output.gz”。
以上就是如何通过 SPVM 使用 Perl 中的 zlib(一个 C 库)详细内容,请多关注其他相关文章!
如何通过 SPVM 使用 Perl 中的 zlib(一个 C 库)-C
日语学习:打造流利沟通,服务更出色!
远程主机端口扫描:安全检测,一键掌控
在“for在循环初始化子句中声明多个变量-C
亦豹远程控制:掌控未来,从此刻开始!
表格数据迁移难题:无法直接复制粘贴
免费 .NET 训练营和招聘机会-C
在“for在循环初始化子句中声明多个变量-C
免费 .NET 训练营和招聘机会-C
C程序计算数字-C
华为仓颉预览版试用申请已超过 1.1 万人,ACM 主席说“中国正在逐渐出现在编程语言领域”——IT行业
国内首个 HPC 源码仓库“源码之家”推出国家超算互联网平台,涵盖IT行业4000多种源码商品
智加科技论文DualBEV入选电脑视觉顶会ECCV-人工智能
网友推测一家是华为,据报道,两家大厂开发了“三折叠屏”手机-IT行业
全尺寸通用人形机器人青龙出现在WAIC,加速进入特定的智能时代——人工智能
主要家用,小米曝光第三款车型是增程 SUV,2026 年上市-IT行业
昨晚,今天早上,科技 0709:中国移动回应资费升级容易降级,2025年 比亚迪海豚纯电动汽车上市,小米正式宣布 MIX Fold 4 / Flip 折叠屏手机本月发布-IT行业
深光图像新突破:第一个全画幅自动对焦镜头即将发布-IT行业
阿里云推广:新老共享云服务器 99 元 / 年-IT业界