我读到有 AMD 处理器可以让您测量缓存命中和未命中的数量。我想知道 Intel Core Duo 机器上是否也提供这样的功能,或者它们是否尚不支持。
我有一个指向内存映射设备的全局指针,初始化如下:
volatile char *base_address = (char *) 0xa0000000;
Run Code Online (Sandbox Code Playgroud)
在程序执行期间,我有一个switch语句,根据输入,必须调整base_address指针,如下所示:
switch (input) {
case 'S':
base_address = (char *) 0xa0001000;
InitDevice();
break;
case 'A':
base_address = (char *) 0xa0001000;
InitDevice();
break
Run Code Online (Sandbox Code Playgroud)
TBH,这看起来像是一个肮脏的黑客,将base_address传递给函数可能更好InitDevice((char *) 0xa0001000).后者是否是正确的方法或有更好的方法?
非常感谢,Alex