lkml.org 
[lkml]   [2004]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Compiling C++ kernel module + Makefile
On Sat, 17 Jan 2004, Bart Samwel wrote:

> On Friday 16 January 2004 23:07, Richard B. Johnson wrote:
> > If somebody actually got a module, written in C++, to compile and
> > work on linux-2.4.nn, as you state, it works only by fiat, i.e., was
> > declared to work. There is no C++ runtime support in the kernel for
> > C++. Are you sure this is a module and not an application? Many
> > network processes (daemons) are applications and they don't require
> > any knowledge of kernel internals except what's provided by the
> > normal C/C++ include-files.
>
> Rest assured, ;) this is definitely a module. It includes a kernel patch that
> makes it possible to include a lot of the kernel headers into C++, stuff like
> changing asm :: to asm : : (note the space, :: is an operator in C++) and
> renaming "struct namespace" to something containing less C++ keywords. The
> module also includes rudimentary C++ runtime support code, so that the C++
> code will run inside the kernel. I'm afraid that the task of compiling it for
> 2.6 is going to be pretty tough -- the kernel needs loads of patches to make
> it work within a C++ extern "C" clause, and it probably completely different
> patches from those needed by 2.4. Getting the build system to work is the
> least of the concerns.
>
> -- Bart
>

I can't imagine why anybody would even attempt to write a kernel
module in C++. Next thing it'll be Visual BASIC, then Java. The
kernel is written in C and assembly. The tools are provided. It
can only be arrogance because this whole C v.s. C++ thing was
hashed-over many times. Somebody apparently wrote something to
"prove" that it can be done. I'd suggest that you spend some
time converting it to C if you need that "module". The conversion
will surely take less time than going through the kernel headers
looking for "::".

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.130 / U:0.608 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site