Date: Tue, 20 Apr 2010 16:28:52 -0500 (CDT) From: Robert Bonomi <bonomi@mail.r-bonomi.com> To: freebsd-questions@freebsd.org Subject: Re: are the are C [or C++] src sites .... Message-ID: <201004202128.o3KLSqkh026229@mail.r-bonomi.com>
next in thread | raw e-mail | index | archive | help
> From owner-freebsd-questions@freebsd.org Mon Apr 12 21:05:40 2010 > Date: Mon, 12 Apr 2010 19:05:04 -0700 > From: Gary Kline <kline@thought.org> > To: Alejandro Imass <ait@p2ee.org> > Cc: FreeBSD Mailing List <freebsd-questions@freebsd.org> > Subject: Re: are the are C [or C++] src sites .... > > On Mon, Apr 12, 2010 at 12:34:32PM -0400, Alejandro Imass wrote: > > On Sat, Apr 10, 2010 at 11:19 AM, Gary Kline <kline@thought.org> wrote: > > > > > [[ ... ]] > > > > > When you install a lib in FBSD (and many other FLOSS OSs) it usually > > installs a man page, so apropos and of course man will have it: man > > sprintf, so the detailed information is usually there... > > > > The tricky part is having like a table of contents of some sort > > especially at the library level which is what _I think_ you are > > referring to. For example, to answer the question ¿what library should > > I use for X or Y need? . If you use Perl, you have the cpan search > > engine (and others) wher you go llook for libs. For C it is many times > > not tha obvious, nor is there a single repository of libraries for C > > as there is for say Perl. If you find the approrpirate/relevant manpage, it _usually_ lists the library or libraries that must be linked in with code that uses the function(s) in question. One has to remember that manpages are _reference_ documentation, *NOT* 'teaching guides'. For figuring out "what's where" on a grand scale, the libraries live in a handful of "standard" places -- exactly where they are depends on the O/S varient's filesystem structure, They're almost *always* in a directory named 'lib', for sure there's one under /usr, probably /usr/local, possibly /usr/share, /usr/contrib, or /usr/opt, plus one under whatever point the X windows stuff is hiding. Running 'nm' on each of the 'lib{mumble}.a' files in each of those 'lib' directories, with a little judicious postprocessing of the 'nm' output, will give you a list of the 'user callable' functions in each library. When you find a function listed in the 'nm' output, and there is -not- any manpage for function, you've found a manpage that 'needs to be written'. Go to it!! <grin> Note to _ALL_ library documentation maintainers: there -should- be a manpage named after the _library_, that indexes the functions therein. See the curses(3) manpage for a _minimal_ example. (it needs som fleshing out of the parameter sequences for vairous functions, and a minimal description of what the various parameters -are-, all the curses functions work with a very limited set of parameter types, -one- description of the types, before or after all function lines, is sufficient. Note to 'curses' documentation maintainers: the curses(3) manage is great, *but* there needs to be 'stub' pages for _every_one_ of the 'curses' functions as well -- they can consist of just a 'link' to the curses(3) page, so that _it_ displays, if you do 'man delch', for example. The _reason_ for doing this is so that the function name, and one-line description, are indexed for apropos(1), and similar tools. The curses(3) manpage needs some fleshing out, per above. The curses manpage is also _missing_ the standard ERRORS section.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004202128.o3KLSqkh026229>