Howto:Extend Nasal: Difference between revisions

Jump to navigation Jump to search
m
Line 5: Line 5:
As of 03/2013, this article should be considered depreciated, we have a new C++-based API for exposing C/C++ functions/data structures to Nasal and vice versa in [https://gitorious.org/fg/simgear/trees/next/simgear/nasal/cppbind $SG_SRC/nasal/cppbind]. Usually, there should be no need to use the bare Nasal APIs anymore for exposing functions/data to Nasal or Nasal-space types to C++, except for people working on the '''cppbind''' framework itself.  
As of 03/2013, this article should be considered depreciated, we have a new C++-based API for exposing C/C++ functions/data structures to Nasal and vice versa in [https://gitorious.org/fg/simgear/trees/next/simgear/nasal/cppbind $SG_SRC/nasal/cppbind]. Usually, there should be no need to use the bare Nasal APIs anymore for exposing functions/data to Nasal or Nasal-space types to C++, except for people working on the '''cppbind''' framework itself.  


The cppbind framework is much more generic and high level than the bare APIs, it includes unit testing support and makes use of modern C++ features like templates and STL support, including SimGear specific types like SGPath etc, its overhead is fairly small (not just performance, but also LoC to create new bindings).
The cppbind framework is much more generic and high level than the bare APIs documented here, it includes unit testing support and makes use of modern C++ features like templates and STL support, including SimGear specific types like SGPath/SGGeod etc, its overhead is fairly small (not just performance, but also LoC to create new bindings).
The cppbind framework is already extensively used by the [[Canvas]] system, which is a good place to look for code examples.
The cppbind framework is already extensively used by the [[Canvas]] system and the NasalPositioned bindings, both of which are a good place to look for code examples.


== Scope ==
== Scope ==

Navigation menu