The G# Framework is a free award winning add-on toolkit for LabVIEW that adds reference based object-oriented support. It takes advantage of the new data value reference structure in LabVIEW 2009 together with the native classes and will add a full object-oriented support with excellent performance. This is the new generation of object-oriented support that makes LabVIEW as powerful as any object-oriented language. There also exists a StarUML plug-in to the G# Framework.
The G# Framework is a National Instrument Compatible with LabVIEW Gold product and has been awarded ”LabVIEW Add-On of the Year for Community at NI Week 2011”.
G# is a registered trademark of AddQ Consulting.
What is Unique About G#?
An object-oriented language must fulfill the fundamental requirements: abstraction, encapsulation, inheritance and polymorphism. The G# framework has taken a lot of inspiration from C# and Java and therefore has the following additional requirements:
- A common root object for all classes, called G#Object.
- Garbage Collector, objects don’t need to be destroyed explicitly.
- Interface support, instead of supporting multiple inheritance.
- Abstract methods and abstract classes.
- Use native LabVIEW objects in combination with the new data value reference in LV2009.
- Include support to keep objects alive and avoid LabVIEW Garbage collection.
- Support for static classes and class attributes.
- Named objects with user counter.
- Serialization of objects.
- G# events that can be traced.
- Desktop Trace Execution Toolkit events support.
- Powerful debugger option with possibility to probe attributes, log events and also offer an active debug possibility.
- Support for Dependency Injection – dynamic plug-in of sub classes
- Property Definition support for LabVIEW 2010
G# – This is the actual LabVIEW code that implements the reference based object-oriented support to LabVIEW. This code is open source code per the terms of BSD-license.
- G#Object – the root object that all classes inherits from.
- G#Interface – the root interface that all interfaces inherit from.
- G#Templates – class templates that are copied to create new classes.
G# Debugger – a powerful object debugger tool, used for tracing and debugging objects when executing the code. This code is open source code per the terms of BSD-license.
G# IDE (Integrated Development Environment) – a plug-in to the LabVIEW Project Environment and makes it easy to create and maintain the G# code. The IDE is not open source and copyright by AddQ Consulting. The G# IDE is not necessary when executing the code.
For more information, please visit the G# Online Manual.
The G# Framework is free and requires no license. You may install the G# IDE with as many users and computers as you like.
Supported LabVIEW Versions
LabVIEW 2009 Full Development or higher
Supported Operating Systems
Windows XP/Vista/7/Server 2003 R2 (32bit)/Server 2008 R2(64 bit)
Red Hat Enterprise Linux WS 4 or later
openSUSE 10.3 or later
Note: G# Framework will probably work on all LabVIEW supported platforms, but is not tested.
For support issues, please contact: firstname.lastname@example.org. Our policy is to respond within one working day. We will not support issues regarding object-oriented design, but we can of course offer this as consultant services. Please contact: email@example.com
Please join the G# community group for more information, discussions and ideas at:
The Compatible with LabVIEW logo is a trademark of National Instruments Corporation and is used under a license from National Instruments Corporation.