On Mon, 16 Oct 2000, Xose Manoel Ramos wrote: > El Wed, Oct 11, 2000 at 08:37:36AM +0200, José Luis Ayala contaba: > > > Especialmente, me interesaría que tratase > > el tema de programación de drivers, pero si es más general tampoco me > > importa. > > Pregunta Lammer: > > ¿Se pueden programar módulos del kernel en C++? Quiero decir, usando > las carácterísticas del C++ (no compilando un programa C en el G++).
Si te refieres a hacer módulos (en el sentido de módulos del kernel), supongo que si se puede. Para evitar la diferencia de nombrado de los objetos de C++ y de C, puedes declarar en la cabecera las métodos C++ a exportar de la forma: extern "C" { prototipos }; De ese modo, el kernel será capaz de enlazar dichos objetos. Por supuesto, no podrás utilizar una clase como interfaz, a no ser que hagas un wrapper que encapsule la estructura C++. Espero que te sirva de ayuda. > > Estoy pensando que el kernel y programar a bajo nivel es la antitesis > de lo que que en teoría son las ventajas de la programación OO. Pero > bueno, hoy en día meten el C++ hasta en la sopa. Hombre, en el ámbito del kernel Linux, es un poco contraproducente hacer módulos en C++; sobre todo porque no existe una estructura de clases auxiliares en C++ para apoyarse: Por ejemplo, no puedes usar streams para sacar mensajes de debug, tendrás que usar el printk del kernel, porque no hay infraestructura C++. > > (Y con lo poco que me gusta) En esto último estoy de acuerdo ;) > -- > Saudos: > ><ose [EMAIL PROTECTED] (Vigo/Galicia/España) > http://pagina.de/xmanoel/ > http://w3.to/mikkeli/ > > 10/16 (10/16/1916) 1st birth control clinic opened (Brooklyn, NY by > Margaret Sanger). 10/16 (10/16/1962) Manute Bol, pro basketball > player. > -- Manolo