On Wed, 2005-02-16 at 14:31 +0200, Krasimir Angelov wrote:
On Wed, 16 Feb 2005 12:01:06 +0000, Duncan Coutts <duncan.coutts@worc.ox.ac.uk> wrote:
What's your opinion of making writing to stdout fail without raising an exception when the application is compiled with --subsystem windows?
I think the current behaviour is the right one. After all we don't have valid stdout/stdin and I don't see any reason to hide this.
True, but it's not the behaviour that other windows programming systems implement: For example MS's C library happily ignores output to stdout: #include <stdio.h> int main () { int res_code = fprintf(stdout, "hello world!\n"); fprintf(stderr, "res_code = %d\n", res_code); return 0; } now compiling with mingw's gcc: gcc testio.c -Xlinker --subsystem -Xlinker windows and from a windows console (ie not a msys / cygwin window) a.exe 2> err then saying "type err" gives us the output: res_code = 13 which is the number of characters output. Upon an error it would have been negative (according to the fprintf man page). As I said before I don't know which part of the windows stack implements this behaviour (papering over the fact there is no stdout handle) but it is apparently standard behaviour. Duncan