lkml.org 
[lkml]   [2004]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Compiling C++ kernel module + Makefile
    On Tue, 20 Jan 2004, Zan Lynx wrote:

    > On Tue, 2004-01-20 at 08:20, Richard B. Johnson wrote:
    > > Nevertheless, I provide three programs, one written in
    > > C, the other in C++ and the third in assembly. A tar.gz
    > > file is attached for those interested.
    > >
    > > -rwxr-xr-x 1 root root 57800 Jan 20 10:16 hello+
    > > -rwxr-xr-x 1 root root 460 Jan 20 10:16 helloa
    > > -rwxr-xr-x 1 root root 2948 Jan 20 10:16 helloc
    > >
    > > The code size, generated from assembly is 460 bytes.
    > > The code size, generated from C is 2,948 bytes.
    > > The code size, generated from C++ is 57,800 bytes.
    > >
    > > Clearly, C++ is not the optimum language for writing
    > > a "Hello World" program.
    >
    > I like C++ and hate to see it so unfairly maligned. Here's a much
    > better example:
    >
    > Makefile:
    > helloc: hello.c
    > gcc -Os -s -o helloc hello.c
    >
    > hellocpp: hello.cpp
    > g++ -Os -fno-rtti -fno-exceptions -s -o hellocpp hello.cpp
    >
    > Both programs contain exactly the same code: one main() function using
    > puts("Hello world!").
    >
    > # ls -l
    > -rwxrwxr-x 1 jbriggs jbriggs 2840 Jan 20 10:02 helloc
    > -rwxrwxr-x 1 jbriggs jbriggs 2948 Jan 20 10:06 hellocpp
    >
    > 108 extra bytes is hardly the end of the world.
    > --
    > Zan Lynx <zlynx@acm.org>
    >

    Well you just fell into the usual trap of using the "C-like"
    capabilities of C++ to call a 'C' function. If you are going
    to use 'C' library functions, you don't use an object-oriented
    language to call them. That is using a hatchet like a hammer.

    I did not malign C++. I used it as it was designed and let
    the chips fall where they may.

    Cheers,
    Dick Johnson
    Penguin : Linux version 2.4.24 on an i686 machine (797.90 BogoMips).
    Note 96.31% of all statistics are fiction.


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:00    [W:0.020 / U:34.016 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site