1、x64汇编语言在win32asm上做了较大改进,总的来说x64asm更加自由,更加有趣。
2、x64汇编语言它提供了一个传统的32位模式。实际上,它等同于一个X86模式和一个新的64位模式,更加便捷,给用户更好的体验。
汇编语言用nasm编写并用nasm编译器编译,而C语言用的是gcc编译,这些都没有问题,但是在链接的时候出错了,提示如下:ld: i386 architecture of input file `foo.o' is incompatible with i386:x86-64 output
google了一下,意思就是nasm 编译产生的是32位的目标代码,gcc 在64位平台上默认产生的是64位的目标代码,这两者在链接的时候出错,gcc在64位平台上默认以64位的方式链接。
这样在解决的时候就会有两种解决方案:
<1>让gcc 产生32位的代码,并在链接的时候以32位的方式进行链接
在这种情况下只需要修改编译和链接指令即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)