我一直在开发一个Spring MVC应用程序,它有自定义的错误页面,这些页面返回一个通用的错误消息和堆栈跟踪作为HTML注释。我目前正在使用HTML5的Appcache开发这个应用程序的离线功能。我的清单是这样的:
CACHE MANIFEST
CACHE:
... my explicit entries (not relevant) ...
FALLBACK:
... some fallback entries (not relevant) ...
<!-- This next line is relevant --!>
/ pageNotFoundOffline.html
我很难理解为什么编译器选择以我编写的代码的方式来偏移堆栈空间。
我正在摆弄Godbolt的编译器资源管理器,以便研究C调用约定,这时我想出了一个简单的代码,它的选择让我感到困惑。
代码可以在中找到。我选择了GCC 8.2x86-64,但我的目标是x86处理器,这一点很重要。下面是编译器资源管理器报告的C代码和生成的程序集的转录。
// C code
int testing(char a, int b, char c) {
return 42;
}
int main() {
int x = testing('0', 0, '7');
r