gpt4 book ai didi

ubuntu - 汇编代码故障

转载 作者:太空宇宙 更新时间:2023-11-03 17:11:40 26 4
gpt4 key购买 nike

我正在学习如何进行组装,但遇到了一个奇怪的问题。我收到一条消息说,

collect2:错误:ld 返回了 1 个退出状态

在我收到这条消息之前,虽然我收到了一串这样的错误。

_开始':
Name.asm:(.text+0x0): 多重定义
_start'/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 0 具有无效的符号索引 11

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 1 有无效的符号索引 12

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 2 有无效的符号索引 2

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 3 具有无效的符号索引 2

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 4 具有无效的符号索引 11

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 5 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 6 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 7 具有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 8 有无效的符号索引 12

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 9 具有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 10 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 11 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 12 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 13 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 14 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 15 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 16 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 17 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 18 有无效的符号索引 13

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): 重定位 19 有无效的符号索引 21

/usr/bin/ld:/usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): 重定位 0 具有无效的符号索引 2

/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o:/build/buildd/eglibc-2.19/csu/../sysdeps/x86_64/start.S:118:首先在这里定义/usr/bin/ld: 输入文件 Name.o' 的 i386 架构与 i386:x86-64 输出不兼容
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: 在函数中
_start':(.text+0x20): 对 `main' 的 undefined reference collect2:错误:ld 返回 1 退出状态

`_start'的多重定义

我完全不知所措。我将在下面发布我的代码,我希望这只是一个小错误。

section .data                           ;Data segment
userMsg db 'Please enter your name : ' ;Ask the user to enter a number
lenUserMsg equ $-userMsg ;The length of the message
dispMsg db 'Hi my name is'
lenDispMsg equ $-dispMsg

section .bss ;Uninitialized data
num resb 5

section .text ;Code Segment
global _start

_start: ;User prompt
mov eax, 4
mov ebx, 1
mov ecx, userMsg
mov edx, lenUserMsg
int 80h


;Output the message 'Your name is '
mov eax, 4
mov ebx, 1
mov ecx, dispMsg
mov edx, lenDispMsg
int 80h

;Output the name entered
mov eax, 4
mov ebx, 1
mov ecx, num
mov edx, 5
int 80h

; Exit code
mov eax, 1
mov ebx, 0
int 80h

最佳答案

我目前不在 linux 上,但可以使用 nasm 组装文件没问题

nasm -felf32 hello.asm -ohello.obj

尝试:gcc -m32 hello.obj

关于ubuntu - 汇编代码故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35543295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com