首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自gcc的"Can't open a bfd on stdout“(无法在标准输出上打开bfd)错误

来自gcc的"Can't open a bfd on stdout“(无法在标准输出上打开bfd)错误
EN

Stack Overflow用户
提问于 2012-10-21 18:15:52
回答 1查看 451关注 0票数 0

我试图通过管道获得来自gcc的输出,但它抛出了上面的错误。命令行是gcc -pipe -c -o - -xc -。代码是通过STDIN输入的。显然,BFD库需要一个可查找的描述符。有没有办法绕过这个限制?

EN

回答 1

Stack Overflow用户

发布于 2012-10-21 19:20:00

目标文件在不同的头文件中包含大量对二进制偏移量的交叉引用,并且由于编译器在完成写出它们之前不知道目标文件中的各个部分将有多大,因此在编写完实际的机器代码之后,编译器必须返回并填充这些引用。因此,大多数编译器会要求目标文件是可查找的-否则他们需要将整个文件缓冲在内存中,直到编译完所有内容!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12996936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档