1

我无法理解 fprintf 的问题。也许您可以找到解决此问题的方法。

你看,当我调用 fprintf 时,它开始无限循环,没有充分的理由。我不知道这里发生了什么,所以也许你可以帮帮我。

String_int:
    db 91; "[" 
    db 37; "%"
    db 115;"i"
    db 93; "]" 
    db 0;  "end_string" 

w_IN_ASCII:
    db 119; "w" 
    db 0;  "end_string" 

<SOME CODE>

    mov rdi, FILE_LOCATION;
    mov rsi, w_IN_ASCII;
    call fopen;
    mov r15, rax;

    cmp r15, 0; (with this I can be sure it is not a NULL)
    je .endProgram;

    mov rdi, r15;
    mov rsi, String_int;
    mov rdx, TO_PRINT_LOCATION;
    call fprintf; this is where my code dies

    mov rdi, r15;
    call fclose;

.endProgram:
    ret
4

1 回答 1

0

在 System V AMD64 ABI 中,可变参数函数需要al. 我没有看到你设置它。

于 2012-09-12T10:25:01.903 回答