当前位置: 首页> 函数类别大全> 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 函数打印复制后的字符串。

同类函数
  • 创建一个新的FFI对象 FFI::cdef

    FFI::cdef

    创建一个新的FFI对象
  • 从C声明创建FFI\CType对象 FFI::type

    FFI::type

    从C声明创建FFI\CType对象
  • 获取对齐方式 FFI::alignof

    FFI::alignof

    获取对齐方式
  • 获取FFI\CData的FFI\CType FFI::typeof

    FFI::typeof

    获取FFI\CData的FFI\CTyp
  • 创建C数据结构 FFI::new

    FFI::new

    创建C数据结构
  • 从内存区域创建PHP字符串 FFI::string

    FFI::string

    从内存区域创建PHP字符串
  • 创建一个指向C数据的非托管指针 FFI::addr

    FFI::addr

    创建一个指向C数据的非托管指针
  • 动态构造新的C数组类型 FFI::arrayType

    FFI::arrayType

    动态构造新的C数组类型