On Wed, Feb 19, 2003 at 04:09:01PM -0500, Jesse Guardiani wrote:
> On Wednesday 19 February 2003 15:55, Jason R. Mastaler wrote:
> > setenv() is not a standard UNIX function. Use putenv() instead.
> Jason, I'm a C programmer coming from a windows world, basically.

we all have our crosses to bear i suppose...

> I've been amazed at all the compatibility issues among the various
> unices.

actually considering that unix is 30+ years old and the wide variety of
roles its implementations have been asked to fill, i'm usually stunned
at how compatible they are.

> Is there a book or collection of articles somewhere that detail what
> functions are "Standard" unix? (In windows, you just design for 98 or 95
> and it's likely to work).
> 
> And by "Standard", do you mean POSIX?

yes, that's best.  on a linux system you can do a man on nearly all
system and libc function calls.  at the bottom of the man page there is
usually a section called "CONFORMING TO".  you want to look for POSIX in
that list.  the more standards that it conforms to beyond that the better.
"the great thing about standards..."

one other thing to note, man pages are divided into sections based on the
original published manuals.  if you'd like to learn about each section
do this:

    man 1 intro
    man 2 intro       (here there live system calls like fork, write, etc)
    man 3 intro       (library calls are here - libc is a library)
    man 4 intro
    [...]
    man 8 intro

as a final note, in my opinion the best man pages exist on bsd systems.
in this regard i've mostly used openbsd, but i'd guess that freebsd is
well documented as well.  since linux and {free,net,open}bsd are freely
available, i highly suggest installing a linux and a bsd in order to
try your code out on two platforms.  portable (not just theoretically
portable) code tends to be better code as different platforms highlight
different bugs.  while i like the ethics of free software, in some ways
i attribute the gnu utils higher scores on fuzz tests to the fact that
they've been ported across a wide range of systems.

so if you're using linux for development, it would be a good idea
to install a bsd for the docs and for proving your code is portable.
though building on different c compilers is a good additional test.

kevin

-- 
[EMAIL PROTECTED]     if the un could speak...
fork()'ed on 37058400       dubya (excited): "the un risks being irrelevant!"
meatspace place: home          un (dejected): "it beats being irresponsible."
http://ie.suberic.net/~kevin/     (inspired by http://www.claybennett.com/)
_____________________________________________
tmda-users mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-users

Reply via email to