Introduction
CPB
bridges C++ and LUA, allowing the two
languages to seamlessly communicate with each other.
LUA provides data driven logic that is used to extend
C/C++ programs. This requires deep interaction between LUA and the host
program. LUA scripts need to be able to access C/C++ variables and
functions and vice versa.
Developing this “glue layer” for LUA is usually tedious
and time consuming to support on even small projects. CPB automates
communication between the two languages with a minimal amount of
integration and development effort.
Key features
- Transparently
interact with user defined C/C++ classes, variables and functions from
LUA.
- Automatically
route C++ functions calls to LUA functions with the correct parameters
and return values.
- Simple
and straight forward integration requiring no modifications to
existing class structures or separate definition data.
- Configure
what variables and function to bind from LUA at run time. Change
bindings requirements without recompiling you’re the host program.
- Fast
and memory efficient. Only requested bindings are generated.
Download
CPB is freely available to be used for all commercial
and non-commercial purposes under the same license as LUA. If you do find
it useful for your project, I've love to hear about it.
This download includes a sample app, as well as CPB but
you will need to get the latest version of LUA
separately. CPB is currently only available for the Windows X86 platform
and Microsoft MSVC7.0
(Latest) CPB (0.06)
In Development
CPB is under active development and currently supports
most basic C/C++ data structures and function but not all C++ features. New
releases generally come out once a month to include more exception cases.
In Progress
- Support
for classes returned by Value
- DLL
support
- More
rigorous type checking
- Hooks
to C/C++ functions
- support
for more base types
V0.06
- Native
C++ constructor calls from LUA
- Destructors
and delete correctly handled for user defined types
- Pointer
support for base string types
V0.05
- Support
for User defined C++ structures and classes
- C++
Functions as well as C Functions
- Pointer
support to structures and classes support
- Detailed
Nested structures
- Deal
with classes by value or by pointer
- Static
and member function support
- Test
app clean up
V0.04
- PDB
runtime requirement removed. Data can be serialized out in to a
new CPB file format
- Use
your symbol table to create your bindings once. Ship with just a very
small CPB file.
V0.03
- Passing
in and returning of structures by value, pointer and reference
- Support
for enumerations
- Support
for user defined pointer types
V0.02
- First
public release supporting basic C variables and functions
|