首页 > 解决方案 > 为什么一个额外的 jmp 用于函数调用?

问题描述

我有以下用于 x64 构建的程序:

void f1()
{
    printf_s("in f1()\n");
}

void main(int argc, char** argv)
{

    f1();
}

我在 Visual Studio 2015 中使用 F5 调试运行它。并检查反汇编代码:

红色矩形中的额外 jmp

jmp为什么红色矩形中有无条件?

是否可以禁用它?

标签: cassemblyvisual-c++calling-convention

解决方案


推荐阅读