calling-convention

calling-convention

文章 0 浏览 6

函数参数列表中的函数调用是否会加深堆栈?

调用 F(argument_expression) 时,是否在将 F 压入堆栈之前评估 argument_expression? 例如,当调用F(G(H(arg)))时,编译器是否首先将H压入堆栈,计…

请爱~陌生人 2024-11-16 12:21:04 11 0

关于使用套接字时函数调用约定的建议

我计划使用套接字在客户端 32 位应用程序和 64 位应用程序之间进行函数调用。 通过套接字接口调用函数、传递变量和返回参数的最佳方案是什么?我可以…

等待我真够勒 2024-11-15 15:47:49 8 0

为什么 Windows x64 调用约定不使用 XMM 寄存器来传递 4 个以上的整数参数?

(Microsoft) x64 调用约定状态: 参数在寄存器 RCX、RDX、R8 和 R9 中传递。如果参数是 float/double,则它们将在 XMM0L、XMM1L、XMM2L 和 XMM3L 中传…

木有鱼丸 2024-11-14 03:12:41 7 0

为什么 %eax 在调用 printf 之前被清零?

我正在尝试使用一点 x86。我正在 64 位 mac 上使用 gcc -S -O0 进行编译。 C 中的代码: printf("%d", 1); 输出: movl $1, %esi leaq LC0(%rip), %rd…

羁客 2024-11-10 18:33:48 7 0

在c中可以用不同的调用约定定义函数吗?

int _cdecl f (int x) { return 0; } int _stdcall f (int y) { return 0; } 名称修改后将是: _f _f@4 哪个不冲突,这在 c 中允许吗?如果不允许,为…

眼中杀气 2024-11-07 00:49:27 5 0

Win VS2008调用约定:来自c的Delphi dll

从 ac 应用程序(VS2008,Win)中,我调用 Borland 中用 Delphi 编写的 dll 中的函数。该函数可以工作,但每次调用后我都会收到此错误:“ESP 的值未…

等待圉鍢 2024-11-05 13:19:55 6 0

我应该选择“默认”吗?当我并不真正关心调用约定时,通过 __fastcall 调用约定?

我们有一个巨大的 C++ 代码库,其中包含大量 COM 对象。每个暴露给 COM 的函数都必须有 __stdcall 调用约定(通常是 STDMETHODCALLTYPE 宏),因此我…

红玫瑰 2024-11-04 23:14:34 6 0

程序启动时间

过程激活时间是否是编译时间的一部分,从而为函数调用做准备? 或者它是实际调用函数时运行时的一部分? (虽然不确定,但我倾向于第二种选择)…

狂之美人 2024-11-04 19:12:13 11 0

通话结束后从通话记录中删除通话

我是 Android 开发新手。我想拨打某个号码,但不想将该号码存储在我的通话记录中。通话结束后如何从通话记录中删除该号码?…

望喜 2024-10-25 07:21:08 9 0

vararg 函数如何找出机器代码中的参数数量?

像 printf 这样的可变参数函数如何找出它们获得的参数数量? 参数的数量显然不会作为(隐藏)参数传递(请参阅 在此处的 asm 示例中调用 printf)。 …

你怎么敢 2024-10-21 21:16:37 11 0

按值调用和按值传递是同义词吗?

我一直认为按值调用和按值传递是同义词。然而,我最近听到有人称它们为不同的东西。它们是同一件事吗? 我也在谈论它们相应的引用术语。…

日记撕了你也走了 2024-10-17 12:10:13 13 0

“cdecl”是什么意思?代表?

是的,我知道“cdecl”是一个著名的调用约定的名称,所以请不要向我解释调用约定。我要问的是缩写(?)“cdecl”实际上代表什么。我认为这是一个糟糕…

晨敛清荷 2024-10-17 05:54:15 13 0

C# 中的 __fastcall 约定

考虑到: 微软特定 __fastcall 调用约定 指定函数的参数 将在寄存器中传递,当 可能的。下面的列表显示了 这个调用的实现 约定。 而且寄存器中的读/写…

离鸿 2024-10-16 04:08:44 10 0

函数指针和调用约定

float __stdcall (*pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280; 如何使用调用约定声明函数指针?上面给了我一个错误。…

陌路黄昏 2024-10-14 22:38:56 8 0

检查函数指针类型的调用约定

如何在编译时检查函数指针是否具有 __stdcall 调用约定? 类似 void foo() {} static_assert(is_stdcall::value, "foo() must be stdcall"); 或至少 m…

乖乖公主 2024-10-14 21:19:43 6 0
更多

推荐作者

少女净妖师

文章 0 评论 0

朱洁

文章 0 评论 0

觉浅

文章 0 评论 0

滥情空心

文章 0 评论 0

hl1314520

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文