代码之家  ›  专栏  ›  技术社区  ›  James Hulse

在C语言中将变量声明为“private”是否可以防止内存扫描程序访问windows中的内存?

  •  5
  • James Hulse  · 技术社区  · 14 年前

    我想知道这是不是真的。

    3 回复  |  直到 14 年前
        1
  •  9
  •   Matthew King    11 年前

    ,事实上,没错。

    访问修饰符仅用于帮助组织代码。它们只是在保护你的杯子不被猫碰的意义上保护它。

        2
  •  2
  •   Kevin Brock    14 年前

    public private 访问修饰符只与那些结构(类、方法或变量)对同一应用程序中其他类的可见性有关。进程和用户之间的内存保护是由操作系统实施的。对于Windows,它确实可以确保非管理员级别(和系统环)的进程/线程不能访问没有显式共享(例如共享内存)的内存。实际上,Windows允许进程向特定的内存区域授予非常特定的权限,但是C#的语言定义中没有提供这种权限。您需要访问系统api来控制对特定内存块的访问;默认情况下,所有内存块都受操作系统保护。

        3
  •  -1
  •   Marc Gravell    14 年前

    C#修饰符对内存可寻址性没有影响—处理器和操作系统体系结构控制着它。