gpt4 book ai didi

c# - 如何从 .Net 中的内存映射 I/O 端口读取?

转载 作者:行者123 更新时间:2023-11-30 14:05:25 25 4
gpt4 key购买 nike

.Net 中的标准指针可以做到这一点吗?还是需要求助于 P/invoke?

请注意,我不是在谈论对象引用;我说的是不安全代码中的实际 C# 指针。

最佳答案

C# 作为受管理和 protected 运行时引擎,不允许低级别硬件访问,并且与实际硬件关联的内存位置不可用。

您需要使用端口驱动程序或使用适当的 Windows API 用 C++ 或 C 编写您自己的端口驱动程序,以访问感兴趣的内存映射 I/O 区域。这将在比 C# 程序所能达到的更低的环中运行。

这就是为什么你看不到用 C# 编写的驱动程序的原因,虽然我知道很多是用 C++ 编写访问例程,但 C# 中的主要驱动程序逻辑。不过,这很棘手,因为崩溃和重新启动可能会变得棘手,更不用说同步和计时问题了(尽管 Windows 远非实时系统,但在较低级别的 C++ 中这些问题更为具体)。

-亚当

关于c# - 如何从 .Net 中的内存映射 I/O 端口读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/207291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com