[这个问题不是关于修复错误的。但是关于重定向它]
我有一个程序 (C/linux),由于缺少共享库而在控制台上显示错误。它说“无法加载库......”。如何将此输出重定向到文件中?
我在我的程序中试过这个:
close(2);
open("/home/user/test.txt", O_CREAT|O_RDWR);
它正确地重定向了程序 printfs 生成的输出。但是“无法加载库......”仍然出现在控制台上!
我不想为此目的使用 > 运算符。我想从我的程序内部进行。有什么建议么?
谢谢
最佳答案
错误消息由加载程序生成,甚至在程序启动之前就发生了。因此,在甚至无法运行的程序中,您无法做任何事情来影响加载器的行为。
如果您真的需要修改 shell 使用的文件描述符,请查看 exec
shell 命令以永久关闭和重定向文件描述符。这样您就可以使用重定向运算符 >
,尽管可以说这是一种不太整洁的方法。
关于c - 如何在不使用重定向运算符的情况下重定向链接器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7764199/