X86-64,Linux,Windows。
假设我想要创建某种“标记指针的免费启动”。基本上,我想要有两个指针指向同一个实际的内存块,但其位不同。(例如,我想要一个位被GC收集或用于其他原因)。
intptr_t ptr = malloc()
intptr_t ptr2 = map(ptr | GC_FLAG_REACHABLE) //some magic call
int* p = int*(ptr);
int* p2 = int*(ptr2);
*p = 10;
*p2 = 20;
assert(*p == 20)
assert(p != p2)