在linux上使用g ++,amd64,我知道线程本地存储是通过段寄存器GS访问的。 我想有办法指示编译器通过FS寄存器访问其他一些内存。 那个内存是一个垃圾收集区,我想随意切换到其他银行。 有可能吗? (我想它应该是因为它可以用于线程本地存储)。
答案 0 :(得分:1)
我将探讨的部分答案是Clang
http://llvm.org/releases/3.3/tools/clang/docs/LanguageExtensions.html
“使用地址空间#256注释指针使其成为相对于X86 GS段寄存器生成的代码,地址空间#257使其相对于X86 FS段。请注意,这是非常低的-level特性只有在你知道自己在做什么时才应该使用(例如在OS内核中)。“