NumXL Software Development Kit (SDK)
Home

NumXL Software Development Kit (SDK) consists of files developers and their environments use to access NumXL application functionalities.

Architecture

Runtime environment

The functions of the NumXL SDK are implemented in separate dynamic (runtime) libraries (i.e., DLL) and exported (i.e., made available) as standard APIs. The SDK dynamic libraries and their dependencies are referred to here as the NumXL Runtime Environment (aka, NRE).

SDK

The NumXL SDK is a set of files needed by the development environment (e.g., compiler, linker) to build applications that invoke NumXL functions, such as NDK_ACF(.) or NDK_KDF(.).

The NumXL add-ins can be viewed as a custom application of the NumXL SDK.

Development Languages

The NumXL SDK files are prepared for native (un-managed) C/C++ development and can thus be used with any C/C++ development environment, such as Microsoft Visual Studio or Visual Code with CMake.

In addition, the NumXL SDK functions are available as standard C-APIs; for other development languages (e.g., VBA, .Net), developers can declare the API prototype in their applications and invoke it just as they would with any Windows API.

In future releases of the NumXL SDK, we plan to include API wrappers for other languages (e.g., VBA, doNet languages), making NumXL functions readily available for those development languages.

Development Environments

You may use any development environment. However, we recommend those with the NuGet package manager support, such as Microsoft Visual Studio (Community or Professional) or Microsoft Visual Code with NuGet package extension.

The NuGet package manager simplifies the addition of the SDK to your workspace by configuring your build and copying the NRE files.

Note
The SDK (and the NRE) are available as a NuGet package on nuget.org.

Target Host Compatibility

Custom applications with calls to NumXL functions run on all desktop or server versions of Microsoft Windows (32 and 64-bit).
Furthermore, custom dynamic libraries (e.g., DLL or XLL) with calls to NumXL function(s) can be loaded on all versions of Microsoft desktop or server Windows OS. For full details, see the System Requirements section

Important
The statement assumes that the custom application or dynamic library does not utilize any third-party libraries that may have differing compatibility requirements for the target host. If not, the target host's compatibility will adhere to the strictest target host requirements.

Components

The NumXL SDK consist of five(5) separate libraries:

  1. Logging APIs
  2. Licensing APIs
  3. Locality APIs
  4. Date and Calendar APIs
  5. Statistics and Time Series APIs

Each library implements its configuration functions. You must call those functions in your custom application and pass the proper configuration parameters.

Important
Although you may only wish to use one or more libraries, it is imperative to initialize the logging and licensing libraries, as other libraries are dependent on them and thus, your application should properly initialize them:

For more hands-on details, please check out the examples.