当前位置: 首页> 函数类别大全> FFI::memcpy

FFI::memcpy

将一个内存区域复制到另一个内存区域
名称:FFI::memcpy
分类:外部函数接口
所属语言:php
一句话介绍:将一个内存区域复制到另一个内存区域

FFI::memcpy 函数

适用 PHP 版本

PHP 7.4.0 及以上版本

<h2>函数说明</h2>

<h2>函数语法</h2>
<p>FFI::memcpy( string $dst, string $src, int $length ): int

$ffi = FFI::cdef(
"void *memcpy(void *dst, const void *src, size_t n);",
"libc.so.6"
);

$src = "Hello, world!";
$dst = FFI::new("char[50]"); // 分配内存给目标

$ffi->memcpy($dst, $src, strlen($src) + 1); // 复制字符串

echo FFI::string($dst); // 输出复制后的字符串

示例代码的说明


1. 首先通过 FFI::cdef 函数声明 C 函数 memcpy,该函数位于 libc 库中。


2. 使用 FFI::new 分配了一个目标内存区域,并将源字符串设置为 "Hello, world!"。


3. 然后调用 memcpy 函数将源数据复制到目标内存区域。


4. 最后,使用 FFI::string 函数打印复制后的字符串。

同类函数
  • 创建C数据结构 FFI::new

    FFI::new

    创建C数据结构
  • 执行C类型转换 FFI::cast

    FFI::cast

    执行C类型转换
  • 将一个内存区域复制到另一个内存区域 FFI::memcpy

    FFI::memcpy

    将一个内存区域复制到另一个内存区域
  • 动态构造新的C数组类型 FFI::arrayType

    FFI::arrayType

    动态构造新的C数组类型
  • 从内存区域创建PHP字符串 FFI::string

    FFI::string

    从内存区域创建PHP字符串
  • 释放非托管数据结构 FFI::free

    FFI::free

    释放非托管数据结构
  • 使用在预加载期间解析的C声明实例化FFI对象 FFI::scope

    FFI::scope

    使用在预加载期间解析的C声明实例化FFI
  • 获取C数据或类型的大小 FFI::sizeof

    FFI::sizeof

    获取C数据或类型的大小