• C# 可否对内存进行直接的操作?


    可以,用 unsafe。用的时候记得在项目属性(Properties)->生成(Build)->常规(General)中钩上允许不安全代码 (Allow unsafe code)。
    否则会出现这个错误:Unsafe code may only appear if compiling with /unsafe。

    // compile with: /unsafe

    using System;
    class UnsafeTest
    {
    // Unsafe method: takes pointer to int:
    unsafe static void SquarePtrParam(int* p)
    {
    *p *= *p;
    }

    unsafe static void Main()
    {
    int i = 5;
    // Unsafe method: uses address-of operator (&):
    SquarePtrParam(&i);
    Console.WriteLine(i);
    }
    }
    // Output: 25

    复制代码
    // compile with: /unsafe
    
    using System;
    class UnsafeTest
    {
        // Unsafe method: takes pointer to int:
        unsafe static void SquarePtrParam(int* p)
        {
            *p *= *p;
        }
    
        unsafe static void Main()
        {
            int i = 5;
            // Unsafe method: uses address-of operator (&):
            SquarePtrParam(&i);
            Console.WriteLine(i);
        }
    }
    // Output: 25
    复制代码
    复制代码
    // compile with: /unsafe
    
    using System;
    class UnsafeTest
    {
        // Unsafe method: takes pointer to int:
        unsafe static void SquarePtrParam(int* p)
        {
            *p *= *p;
        }
    
        unsafe static void Main()
        {
            int i = 5;
            // Unsafe method: uses address-of operator (&):
            SquarePtrParam(&i);
            Console.WriteLine(i);
        }
    }
    // Output: 25
    复制代码
  • 相关阅读:
    Java ES api 查询例子
    leveldb学习
    Viewstamp Replication协议
    PacificA协议
    vhost架构
    数据分片方法
    常见分布式存储系统架构分析
    数据存储(B+树 vs LSM树)
    paxos算法理解
    Raft协议理解
  • 原文地址:https://www.cnblogs.com/binyao/p/4891182.html
Copyright © 2020-2023  润新知