刚开始学习x64程序集,我对函数,参数和堆栈有疑问.据我所知,函数中的前四个参数传递给Windows中的rcx,rdx,r8和r9寄存器(以及浮点数的xmm0-xmm3).所以带有四个参数的简单加法函数如下所示:
add:
mov r10, rcx
add r10, rdx
add r10, r8
add r10, r9
mov rax, r10
ret
Run Code Online (Sandbox Code Playgroud)
但是,我遇到的文档提到了这一点:
每个函数至少必须在堆栈上保留32个字节(4个64位值).该空间允许将传递到函数中的寄存器轻松复制到众所周知的堆栈位置.不需要被调用函数将输入寄存器参数溢出到堆栈,但堆栈空间预留确保它可以在需要时使用.
所以,我必须预留堆栈空间,即使我做的功能需要四个参数或更低,或者是它只是一个建议?
客户要求用户在单击结果后返回到满是搜索结果的页面.现在这是一个简单的jQuery调用:
$('a.detail-back-button').on('click', function(evt) {
evt.preventDefault();
window.history.back();
});
Run Code Online (Sandbox Code Playgroud)
但是,这会在Firefox中显示"文档已过期"页面.我知道这是为了安全,但客户希望无论如何实现这一点.我已经做了一些搜索,我找到了解决问题的php解决方案......
session_cache_limiter('private_no_expire')
Run Code Online (Sandbox Code Playgroud)
...但这是一个基于Django的网站.还有其他解决方案吗?
更新02/21/13
下面的解决方案有效但仅适用于非IE的浏览器.IE8/9/10似乎没有重新请求上一页.是否有IE解决方法?
我在元素上使用自定义背景但默认箭头仍然显示.移动IE不支持"外观"或"-ms-appearance"css属性,所以我对于该怎么做感到茫然.它像谚语中的拇指一样突出.