zoukankan      html  css  js  c++  java
  • copymemory()数组赋值

    在各网站的文章里面,见复制数据的方法中,有move的,有system.copy的,而要实际应用中,这两种方法,并不是很完美,会遇到一些问题,比如copy在记录里面的复制时,编译都过不去,而CopyMemory的功能,就相当强大.

    要注意如果不是byte时,长度可能需要使用sizeof来参与计算

    Buff,BuffCmdCrc16:array of Byte

    SetLength(BuffCmdCrc16, 10);

    一、复制10个byte 

    CopyMemory(@BuffCmdCrc16[0],@Buff[0],10); 

    从第11个 byte位追加,取数从第5个起,取8个byte 的长度。

    CopyMemory(@BuffCmdCrc16[10],@Buff[5],8);

    定义在Winapi.Windows中:

    procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: NativeUInt);
    begin
    Move(Source^, Destination^, Length);
    end;

    从定义看,也是调用了move,但是直接用move,可没这么顺心顺手

  • 相关阅读:
    屏幕尺寸相关
    关于sqlite的数据库操作
    Service服务
    BroadcastReceiver广播接收器
    将博客搬至CSDN
    win7+WinDbg调试系统内核
    驱动
    驱动开发,走起!!哈哈
    动态链接库DLL
    2013年12月24号感受
  • 原文地址:https://www.cnblogs.com/semth/p/9036449.html
Copyright © 2011-2022 走看看