calling-convention 相关问题

调用约定是指函数将参数传递给被调用函数并从中接收返回值的方式。

为什么生成的程序集mov edi到堆栈上的变量?

我是程序集的新手,试图理解以下函数的objdump:int nothing(int num){return num;这是结果(linux,x86-64,gcc 8):push rbp mov rbp,rsp ...

回答 1 投票 0

这个内核调用如何知道从计数器寄存器中获取

我正在努力学习装配,我可以举几个例子,但这很神秘。内核如何知道将ecx寄存器中的内容作为指向用户空间内存的指针来获取...

回答 2 投票 0

在扩展内联ASM中调用printf

我试图在64位Linux上的GCC扩展内联ASM中输出相同的字符串两次。 int main(){const char * test =“test \ n”; asm(“movq%[test],%% rdi \ n”//调试器显示...

回答 1 投票 2

为什么我们必须在这里取消引用stdout?

我试图调用fputs(str,stdout);从装配。我为什么要推dword [stdout]而不只是推stdout?因为在C中我们不做fputs(str,* stdout),为什么我们需要取消引用stdout ...

回答 1 投票 1

使用堆栈框架时,为什么ebx,esi和edi无法使用?

在汇编中创建函数时,我遇到了使用如此少量寄存器的问题 - 这些寄存器中的内容是什么阻止我使用它们?我可以复制他们的内容......

回答 1 投票 2

由`new`构造函数创建的函数对象是否被视为javascript中的可变对象?

从研究中我了解到,在javascript中,可变对象()通过call-by-reference来处理,而不可变对象通过call-by-value调用约来处理。比方说我用这种......

回答 4 投票 2

离开作用域后,类变量会自动删除,我该如何防止这种情况发生?

从另一个类(B类)函数调用类(A类)函数时遇到问题,其中我试图调用的类(A类)中的变量构造在...

回答 1 投票 0

x86-64寄存器中传递参数的顺序

我对x86-64环境中的参数传递过程感到好奇,因此我编写了一段代码。 //a.c extern int shared; int main(){int a = 100;交换(&a,&shared); ...

回答 2 投票 3

我的程序集实现中的分段错误

我是汇编语言编程的新手,在这里我试图从我的汇编代码中调用C标准库函数put,但我不断得到segmentaion错误。请帮忙;经营......

回答 1 投票 1

是否可以使用从另一个函数传递的参数来命名函数?

我是Javascript的新手,所以我不知道它的功能。任何帮助将非常感激!正如标题所示,我试图从一个函数传递一个参数来命名另一个...

回答 1 投票 0

如何修复从Delphi应用程序调用它时在C ++ DLL中的MessageBox中显示的无效字符?

我使用Code :: Blocks IDE for DLL和Delphi 10.3 Rio for Delphi app。这是我的C ++ DLL代码(CPP文件):#include“main.h”#include“string”#include“wchar2string.h”using namespace std; // 一个 ...

回答 1 投票 0

从Assembly调用C函数(printf)时的Segfault

我在linux上使用NASM编写一个基本的汇编程序,它从C库(printf)调用一个函数。不幸的是,我这样做会导致分段错误。评论出......

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.