在微软的网站上可以找到的__addgs *如何使用,什么是GS?
__addgsbyte (offset, data)
__addgsword (offset, data)
__addgsdword (offset, data)
__addgsqword (offset, data)
内在功能some details。据称,
offset
是从GS开始的偏移量。我推测GS是指处理器寄存器。
GS如何与堆栈相关?另外,我怎样才能计算一个偏移量与GS?
(而且,还有什么 '陷阱' 关于这一点,具体的调用约定,如
__fastcall
?)
感谢。
感谢(所有)的信息。即使在否定的情况下也有答案。现在我将专注于解决我的问题的其他方法(例如,外部装配,更高级别的内部函数,内部'直接'翻译......)。 – Rhubbarb
我意识到这是一个迟到的评论,但似乎[有关内部函数的声明仅适用于内核模式](http://msdn.microsoft.com/en-us/library/htss0hyy(v = vs80) .aspx)是_false_。我刚刚使用'__readgsdword'创建了一个用户模式应用程序,并且使用Visual Studio 2010和Windows Server 2008 DDK为x64编译。 – user1354557