Resultados da pesquisa a pedido "calling-convention"
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 ...
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 ...
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?
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 ...
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 ...
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. ...
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 ...
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 ...
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: { ...
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 ...