Resultados da pesquisa a pedido "calling-convention"

2 a resposta

O valor do ESP não foi salvo corretamente

Na imagem acima, você pode ver que ocorre um erro quando a funçãosetAttribute [http://xerces.apache.org/xerces-c/apiDocs-3/classDOMElement.html#1a607d8c619c4aa4a59bc1a7bc5d4692] retorna de sua chamada. Alguém sabe como resolver esse erro ...

1 a resposta

O lixo é permitido em bits altos de registradores de parâmetro e valor de retorno na ABI do SysV x86-64?

A ABI do x86-64 SysV especifica, entre outras coisas, como os parâmetros de função são passados nos registradores (o primeiro argumento emrdi, entãorsi e assim por diante) e como os valores de retorno inteiro são transmitidos de volta (emrax e ...

2 a resposta

Cada instrução PUSH envia um múltiplo de 8 bytes em x64?

Em x64, cada instrução PUSH envia um múltiplo de 8 bytes? Se não, quanto ele empurra? Além disso, quanto espaço de pilha cada parâmetro de função consome?

1 a resposta

O retorno de uma tupla 2 é menos eficiente que o std :: pair?

Considere este código: #include <utility> #include <tuple> std::pair<int, int> f1() { return std::make_pair(0x111, 0x222); } std::tuple<int, int> f2() { return std::make_tuple(0x111, 0x222); }Os clang 3 e 4 geram código semelhante para ambos no ...

2 a resposta

Por que "mov rcx, rax" é necessário ao chamar printf no assembler x64?

Estou tentando aprender montador x64. Eu escrevi "olá mundo" e tentei chamar printf usando o seguinte código: EXTERN printf: PROC PUBLIC hello_world_asm .data hello_msg db "Hello world", 0 .code hello_world_asm PROC push rbp ; save frame pointer ...

2 a resposta

Não é possível entender o exemplo da convenção de chamada do cdecl em que o chamador não precisa limpar a pilha

Eu estou lendo oIDA Pro Book [https://nostarch.com/idapro2.htm]. Na página 86, enquanto discute as convenções de chamada, o autor mostra um exemplo de convenção de chamada cdecl que elimina a necessidade do chamador de limpar argumentos da pilha. ...

4 a resposta

Como ir para funções diferentes em c?

Basicamente, estou tentando simular código de montagem em C. Aqui está o código C: int main() { test(); main_next: printf("Hello, World!"); } void test() { goto main_next; }Tentando compilar este código (Linux 32 bits, gcc 4.6.3), recebi este ...

1 a resposta

glibc scanf Falha na segmentação quando chamada de uma função que não alinha o RSP

Ao compilar o código abaixo: global main extern printf, scanf section .data msg: db "Enter a number: ",10,0 format:db "%d",0 section .bss number resb 4 section .text main: mov rdi, msg mov al, 0 call printf mov rsi, number mov rdi, format mov ...

1 a resposta

Por que o método GObject ainda é chamado, mesmo que os argumentos de retorno de chamada não correspondam aos do XML?

Suponha que eu tenha um método como este <interface name="org.Test.ChildTest"> <!-- set_age(guint32 new_age): sets new age --> <method name="set_age"> <arg type="u" name="new_age" direction="in"/> </method>Na minha tabela de métodos eu tenho: { ...

6 a resposta

Ordem de avaliação dos argumentos na chamada de função?

Estou estudando sobre comportamento indefinido em C e cheguei a uma declaração que afirma que não há uma ordem específica de avaliação dos argumentos da função mas e as convenções de chamada padrão, como_cdecl e_stdcall, cuja definição dizia ...