首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代码写入% 1,但不写入stdout?

代码写入% 1,但不写入stdout?
EN

Stack Overflow用户
提问于 2012-11-03 05:33:12
回答 1查看 136关注 0票数 0

我试图在sparc32上运行一些简单的汇编器代码,但它不会写入标准输出,无论使用ta 0x00还是ta 0x08都会出现问题:

代码语言:javascript
复制
# as -s gah.s -o gah.o
# ld gah.o -o gah -lc
# ./gah
#
# truss ./gah
execve("./gah", 0xEFFFFE28, 0xEFFFFE30)  argc = 1
[..]
open("/usr/platform/SUNW,SPARCstation-20/lib/libc_psr.so.1", O_RDONLY) Err#2 ENOENT
close(3)                                        = 0
write(1, " H e l l o ,   W o r l d".., 14)      = 14
_exit(0)
# file gah
gah:            ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped
# echo foo > /dev/fd/1
foo
# uname -a
SunOS foobar 5.6 Generic_105181-05 sun4m sparc SUNW,SPARCstation-20
gcc version 2.95.2 19991024 (release)

这会不会是与链接器相关的问题?我似乎在truss输出中看到了一个写入。

dis输出:http://sprunge.us/hMXV

EN

回答 1

Stack Overflow用户

发布于 2012-11-08 07:10:35

如果使用look under the covers,您将看到stdout只是一个引用文件描述符号1的标准文件描述符。

换句话说,当您写入stdout时,您将看到一个指向文件描述符1的OS调用。

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

https://stackoverflow.com/questions/13203332

复制
相关文章

相似问题

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