【发布时间】:2011-05-19 01:03:58
【问题描述】:
我有时会在某些平台上看到以下 C 或 C++ 代码的声明:
int* ptr;
*ptr = 0;
如果ptr恰好存储了该端口映射到的地址,则可能导致写入硬件输入输出端口。通常它们被称为“嵌入式平台”。
这类平台的真实例子有哪些?
【问题讨论】:
-
只是添加到所有答案中,您的 x86 平台也执行此操作(内存映射 I/O)。您只是习惯于在由您的操作系统创建的受保护环境[1] 中工作,因此您不必(或偶然可以)触摸真实硬件的所有脏方面。编写一个驱动程序,或者更好的是,一个操作系统,你将不得不处理大量的内存映射 I/O,以及许多其他有趣的事情。 :) [1] en.wikipedia.org/wiki/Protected_mode
标签: c++ c memory ports memory-mapping