[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: lua.h and c++
- From: David Burgess <dburgess@...>
- Date: Tue, 28 Sep 2004 02:02:18 +1000
This topic has been discussed before and this is the designated
solution.
db
On Mon, 27 Sep 2004 16:57:23 +0100, simon_brown@scee.net
<simon_brown@scee.net> wrote:
> As you mention, Lua is a C library, so it's not unreasonable that
> C++-specific code is left out of the Lua headers.
>
> I've been cleanly including Lua in C++ headers by wrapping the include
> directives as follows:
>
> extern "C" {
> #include "lua.h"
> #include "lualib.h"
> #include "lauxlib.h"
> } // extern "C"
>
> I guess if you wanted to be even cleaner you could put these contents into
> a "lua.hpp" file and include that in your project.
>
> Simon Brown
> Sony Computer Entertainment Europe
> http://www.scee.com
>
> lua-bounces@bazar2.conectiva.com.br wrote on 27/09/2004 16:41:04:
>
>
>
> > I love the language, but whenever I install Lua on a
> > machine I need to make an alteration to the header file.
> >
> > The following section allows C programs to use Lua
> > functions if the Lua libraries are compiled in C.
> >
> > /* mark for all API functions */
> > #ifndef LUA_API
> > #define LUA_API extern
> > #endif
> >
> > It works for C++ only if the libraries are compiled in C++.
> > To get both C and C++ programs working with the C library,
> > I change that section of the lua.h header to the following:
> >
> > /* mark for all API functions */
> > #ifndef LUA_API
> > #ifdef __cplusplus
> > #define LUA_API extern "C"
> > #else
> > #define LUA_API extern
> > #endif
> > #endif
> >
> > Now it works beautifully and transparently, but isn't quite
> > standard. I wonder... could this possibly be made the
> > standard for lua.h in future releases of lua?
> > _____________________________________________________________________
> > For super low premiums ,click here http://www.dialdirect.co.za/quote
>
> > ForwardSourceID:NT000078B6
>
> **********************************************************************
> This email and any files transmitted with it are confidential and
> intended solely for the use of the individual or entity to whom they
> are addressed. If you have received this email in error please notify
> postmaster@scee.net
>
> This footnote also confirms that this email message has been checked
> for all known viruses.
>
> **********************************************************************
> SCEE 2004
>
>
--
db