我在linux下使用NASM Assembler 当我使用命令“nasm -f elf -l hello.lst hello.asm”时 它工作正常 但当与gcc“gcc -o hello hello.o”链接时 它会产生错误:
hello.asm :(。text + 0x4):重定位被截断以适合:R_386_16对抗`.data' collect2:ld返回1退出状态
我了解到这是gcc和16位
的问题任何解决方案?
答案 0 :(得分:3)
Linux甚至没有16位子系统 - 即使你有gcc链接它,你仍然无法执行它!你为什么不用.bits 32
?
答案 1 :(得分:0)
几年前我和今年再次面临同样的情况。
处理它的两种方法是:
我总是最终做2,但我应该花些时间编写一个链接器(或修补GNU ld ......)。