我正在尝试在x64 Debian上编译这个x86汇编代码:
BITS 32
%include 'training.s'
global main
extern exit
; ===============================================
section .text
main:
; The program begins here:
call read_hex
mov edx,eax
call read_hex
add eax,edx
add eax,eax
inc eax
call print_eax
; Exit the process:
push 0
call exit
Run Code Online (Sandbox Code Playgroud)
我收到这些错误:
~$nasm -f elf -g 0_strange_calc.asm && ld -o 0_strange_calc 0_strange_calc.o
ld: i386 architecture of input file `0_strange_calc.o' is incompatible with i386:x86-64 output
ld: warning: cannot find entry symbol _start; defaulting to 00000000004000b0
0_strange_calc.o:training.s:25: undefined reference …Run Code Online (Sandbox Code Playgroud) 我写了一个方法来打印我的结果.如果调用参数,我可以修改方法来打印不同的消息让我们说' result3 '吗?
在下面这种情况下,我无法访问方法中的变量result2.Eclipse说"'result2'无法解析为变量".
double result2 = addValues(s1,s2,s3);
printAnswer(result2);
}
static void printAnswer (double answer) {
System.out.println("The answer is:" + " " + answer);
}
Run Code Online (Sandbox Code Playgroud)
我是否需要将'printAnswer'修改为非静态方法?