Difference between "library parts" of C99 and "language parts" of C99

Discussion in 'C Programming' started by albert.neu@gmail.com, Mar 31, 2007.

  1. Guest

    Hello!

    What is the difference between "library parts" of C99 and "language
    parts" of C99.

    see
    http://groups.google.at/group/micro...2bada2bbdbce56?lnk=st&rnum=1#bd2bada2bbdbce56

    I know that "Dinkum Compleat Libraries" (http://www.dinkumware.com/)
    support the "library parts" of C99 - this probably relates to the C99
    library headers and the functionality they provide.?


    Are the "language parts" of C99 perhaps things like "variable
    declarations" in the middle of {}-blocks? See below...

    /******** test.c *********/
    #include <stdio.h>

    int main( void )
    {
    printf("hello world\n");

    char c = 5; //variable declaration
    return 0;
    }

    What else might be included in the "language parts" of C99?


    Thanks,
    Albert
    , Mar 31, 2007
    #1
    1. Advertising

  2. Re: Difference between "library parts" of C99 and "language parts"of C99

    wrote:
    > Hello!
    >
    > What is the difference between "library parts" of C99 and "language
    > parts" of C99.


    The language includes the libraries; perhaps you mean the syntax as
    opposed to the libraries. Basically, anything supplied as a function or
    macro will be found declared in a header and any supporting functions
    will be found in a library.

    > see
    > http://groups.google.at/group/micro...2bada2bbdbce56?lnk=st&rnum=1#bd2bada2bbdbce56


    Plauger uses the terms "library bits" and "language bits", not "library
    parts" and "language parts." He is writing informally; none of those
    four terms has any defined meaning in C, although most users of C will
    recognize that he is distinguishing between those parts of the language
    specified in section 7 "Library" of the language standard from the
    non-library parts defined in sections 1-6. The annexes A-J contain
    supplemental information concerning all 7 sections of the language
    specification.
    >
    > I know that "Dinkum Compleat Libraries" (http://www.dinkumware.com/)
    > support the "library parts" of C99 - this probably relates to the C99
    > library headers and the functionality they provide.?


    The headers and library functions defined by the C language
    specification are what Dinkum supplies.


    > Are the "language parts" of C99 perhaps things like "variable
    > declarations" in the middle of {}-blocks? See below...


    No doubt Plauger means by "language bits" everything not specified as
    belonging in a library or associated header. Obviously, variables and
    their declarations (no matter where they occur) are part of that.

    >
    > /******** test.c *********/
    > #include <stdio.h>
    >
    > int main( void )
    > {
    > printf("hello world\n");
    >
    > char c = 5; //variable declaration
    > return 0;
    > }
    >
    > What else might be included in the "language parts" of C99?


    In your code, <stdio.h> and printf() are defined as part of the library
    in the language specification. Everything else is a non-library part of
    the C programming language.
    Martin Ambuhl, Mar 31, 2007
    #2
    1. Advertising

  3. P.J. Plauger Guest

    <> wrote in message
    news:...

    > What is the difference between "library parts" of C99 and "language
    > parts" of C99.
    >
    > see
    > http://groups.google.at/group/micro...2bada2bbdbce56?lnk=st&rnum=1#bd2bada2bbdbce56
    >
    > I know that "Dinkum Compleat Libraries" (http://www.dinkumware.com/)
    > support the "library parts" of C99 - this probably relates to the C99
    > library headers and the functionality they provide.?
    >
    >
    > Are the "language parts" of C99 perhaps things like "variable
    > declarations" in the middle of {}-blocks? See below...
    >
    > /******** test.c *********/
    > #include <stdio.h>
    >
    > int main( void )
    > {
    > printf("hello world\n");
    >
    > char c = 5; //variable declaration
    > return 0;
    > }
    >
    > What else might be included in the "language parts" of C99?


    If the piece that translates source code to object has to do it,
    it's language. If it can be done in library headers and linkable
    libraries, it's library.

    P.J. Plauger
    Dinkumware, Ltd.
    http://www.dinkumware.com
    P.J. Plauger, Mar 31, 2007
    #3
  4. writes:
    > What is the difference between "library parts" of C99 and "language
    > parts" of C99.

    [...]

    The latest draft of the C99 standard is available at
    <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf>.

    Section 6 describes the language; section 7 describes the library.

    (The term "language" can be ambiguous; it refers either to just the
    part described in section 6, or to the entire language including
    sections 6, 7, and all the rest.)

    --
    Keith Thompson (The_Other_Keith) <http://www.ghoti.net/~kst>
    San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
    "We must do something. This is something. Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"
    Keith Thompson, Mar 31, 2007
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. jakk
    Replies:
    4
    Views:
    12,057
  2. Santa
    Replies:
    1
    Views:
    1,063
    Mark A. Odell
    Jul 17, 2003
  3. Jason Curl

    Difference between C89 and C99?

    Jason Curl, May 3, 2005, in forum: C Programming
    Replies:
    66
    Views:
    1,805
    Richard Bos
    May 12, 2005
  4. Jason Curl

    Char difference between C90 and C99

    Jason Curl, Jun 21, 2005, in forum: C Programming
    Replies:
    11
    Views:
    788
  5. Replies:
    3
    Views:
    3,655
    Chris Torek
    Feb 20, 2006
Loading...

Share This Page