我在linux里用nasm编译成.o文件之后,用gcc连接就会报错,是否和我的linux是64位的有关?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在linux里用nasm编译成.o文件之后,用gcc连接就会报错,是否和我的linux是64位的有关?相关的知识,希望对你有一定的参考价值。
报错内容是:
i386 architecture of input file `hello.o' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status
机子是64位的,nasm是我在网上下的,没有说是多少位的。
有没有与64位机器兼容的汇编编译器呢?另外as是什么?adobe的as?
追答as是assembly的缩写啊,与64位完美兼容。一般的能编译c的环境都有as
参考技术A 用vim或gedit吧 然后用GCC。。。。。linux 生成的.o文件为啥带锁标志
那可能是编译源代码文件成.o时,是用root用户身份执行的gcc/g++命令,所以产生的.o文件也属于root用户。属于root用户的文件在Linux图形界面的文件管理器中,会有一个带锁的标志。 参考技术A .P关系到系统的数据结构和管道的文件以上是关于我在linux里用nasm编译成.o文件之后,用gcc连接就会报错,是否和我的linux是64位的有关?的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu 16.04使用NASM编译时用ld链接程序出现:i386 架构于输入文件 sandbox.o 与 i386:x86-64 输出不兼容(I386 architecture in the i