This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: _stderr, _stdout, _errno etc.


 As it seems right now - This really isn't cygwin-stuff... this is plain
gcc - and even beyond that, i.e. plain C programming. In other words; This
list isn't the right place to ask about it... :-)  (check www.cygwin.com
about the scope for these lists!)

 This of course assumes that you've managed to install _ALL PARTS_ of gcc
and it's associated tools. To verify this: read about reporting problems on
the webpage (link above).


 Still - to give you a hint on how to obtain information:

$ man printf
This shows a 'printf' that has nothing to do with C-programming... as you
can see if you read some of the text... The hint is the word "shell" in the
initial NOTE paragraph.

$ man 3 printf
This one OTOH has a lot of association with C programming... In the first
few lines you'll find "#include <stdio.h>" - this indicates that you _MUST_
include the "stdio" header to be able to use "printf" in C... My guess is
that you have not done so, just because stderr and stdout at least are
defined in stdio.h ( I guess fputc too).
 errno OTOH has it's own header, dirname might be in stdlib I guess - maybe
or maybe not. Try to find out yourself.

All these "header" files has a "home", one of these homes is this:
$ ls /usr/include/
press <tab>-key
Display all 207 possibilities? (y or n) n

207 files/dirs... =-)

the stdio-header is there too:
$ ls /usr/include/std*
/usr/include/stdio.h  /usr/include/stdlib.h


To look for stderr in the stdio-header:
$ grep -i stderr /usr/include/stdio.h
#define stderr  (_REENT->_stderr)
#define stderr  (_impure_ptr->_stderr)
#define _stderr_r(x)    ((x)->_stderr)


Other helpful commands:
 help
	- information on bash internal commands

 info
	- search/read the info pages, in generel more structured than 'man'-pages

 man -K <keyword>
	- Look for <keyword> in all installed man pages (takes a while, but may
proove 	helpful)

 man <#> <keyword>
	- look in section number <#> for <keyword> e.g.  man 3 printf  as above.


HTH to get you started.

Apart from this I reccomend you to find any good book on ANSI C, e.g. "The C
Programing Language" by B W Kernighan and D M Ritchie (ISBN 0-13-110362-8
for the second edition - which is an OLD one).
Note here that I'm not telling you that this is a good learning book, nor
that it is the best reference around - but it sure is one that many has used
to get into the innards of the C language.


/Hannu E K Nevalainen, 59~14'N, 17~12'E
 ~ <=> degree

--

--END OF MESSAGE--


> -----Original Message-----
> From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com]On Behalf
> Of Vikram Mehta
> Sent: Thursday, June 26, 2003 6:37 AM
> To: Cygwin@Cygwin.Com
> Subject: _stderr, _stdout, _errno etc.
>
>
> Hi folks
>
> I am trying to compile a file using gcc oin CYGWIN
> I get undefined refrences to _sdterr, _stdout, dirname, _errno ,
> fputc_unlocked etc.
>
> Can you tell me what library are they in
>
> Vikram


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]