Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Nov 2000 13:02:57 -0500 (EST)
From:      Peter Dufault <dufault@hda.com>
To:        freebsd-hackers@FreeBSD.ORG
Cc:        tjmsdn@ifrance.com
Subject:   Re: C and C++ on FreeBSD
Message-ID:  <200011141802.NAA99016@hda.hda.com>
In-Reply-To: <200011141741.KAA48265@harmony.village.org> from Warner Losh at "Nov 14, 2000 10:41:13 am"

next in thread | previous in thread | raw e-mail | index | archive | help
> In message <00111412240100.00321@tjonas_dev.eicon.com> Thierry writes:
> : We are implementing our OS modem on FreeBSD, but lot of our sources
> : have writen in C++.  Is it possible to compile the FreeBSD kernel in
> : C++ to include our driver ?
> 
> Yes and No.
> 
> If you use only the bare minimal subset of features for the C++ and
> avoid the problem areas of the language, you might be able to.  But
> you'd have to add new and delete support to the kernel's library.
> That should be almost trivial.
> 
> The problem areas definitely include exceptions, some automatic memory
> allocation (where temporary variables are malloced), large objects
> appearing on the stack (because the kernel stack is so small).  I
> don't know if ctors for static objects would be called in the kernel.
> Templates might also be a problem, but they might not.

I'll second the "doability" of this.  I've been going through some
C++ work in an embedded system.  Exceptions had already been given
up on.  The ctors/dtors are handled with "munch" style tools
(from vxWorks land) that generate construct/destruct
vectors that you'll probably then hook in with kernel modules.

Peter

--
Peter Dufault (dufault@hda.com)   Realtime development, Machine control,
HD Associates, Inc.               Fail-Safe systems, Agency approval


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200011141802.NAA99016>