请教hp_ux下一个编译问题

zhqi0726 2008-06-25 11:04:35
我测试了编译一个t.c文件
#include <varargs.h>
int main(int argc, char **argv)
{
va_list op;
return 0;
}
步骤如下:
cc +DD32 -O2 -c t.c
生成了t.o
再执行
cc +DD32 -O2 -o t.o
结果报了一个错:/usr/ccs/bin/ld: t.o: Not a valid object file (invalid magic number)
google了一下
/usr/ccs/bin/ld: t.o: Not a valid object file (invalid magic number)
CAUSE The named file has the correct filecode but
contains an incorrect "magic number" in its header
record. This usually indicates that the
relocatable object file has been corrupted, or that
a non-relocatable object file has been created with
an NMOBJ filecode.
请教下
为什么报这个错, 还有上面的错误原因中NMOBJ是什么的缩写?
谢谢了先
...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kym75 2008-06-26
  • 打赏
  • 举报
回复
抢分的来了
kym75 2008-06-26
  • 打赏
  • 举报
回复
抢分的来了
kym75 2008-06-26
  • 打赏
  • 举报
回复
抢分的来了
FreeElf 2008-06-26
  • 打赏
  • 举报
回复
NMOBJ这个不清楚…………
编译的时候,一般步骤是把.c文件先编译成.o文件
然后再由.o文件编译成可执行文件
cc +DD32 -O2 -c t.c -o t.o
cc +DD32 -O2 t.o -o tt
zhqi0726 2008-06-26
  • 打赏
  • 举报
回复
顶。
zhqi0726 2008-06-25
  • 打赏
  • 举报
回复
汗!!
应该cc +DD32 -O2 -o t.o 这句把t.o破坏了
我重新编译了一下cc +DD32 -O2 -o tt t.o就可以了
这个问题解决了

上面那个NMOBJ缩写是什么意思,有没有人说一下。o(∩_∩)o...

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧