/*! ****************************************************************************
\ingroup SYS_LOADING_GROUP
\fn void* dspl_load()
\brief 
Произвести динамическую линковку и загрузить функции DSPL-2.0.

Данная функция производит попытку связывания с библиотекой `libdspl.dll` в 
системе Windows и с библиотекой `libdspl.so` в системе Linux. 
Предполагается, что библиотека находится в одной директории с приложением
пользователя, или путь к библиотеке прописан в переменных пути операционной
системы.

При удачном связывании и загрузке функций библиотеки возвращается хэндл 
библиотеки, а также в адресном пространстве приложения появляются 
указатели на функции DSPL-2.0. 

\note
Возвращаемый хэндл имеет тип `void*`, который в ОС Windows может быть приведен
к типу `HINSTANCE`. На практике необходимости в этом, нет, потому что данный
тип приводится к `HINSTANCE` автоматически, если выставлен флаг компилятора, 
указывающий, что сборка приложения производится в ОС Windows.

Пример простейшей программы реализующей динамическое связывание с DSPL-2.0.

\code
#include <stdio.h>
#include <stdlib.h>
#include "dspl.h"


int main(int argc, char* argv[])
{
  void* hdspl;           /* DSPL хэндл                                     */
  hdspl = dspl_load();   /* Динамическая линковка                          */
  
  /* Проверяем указатель. Если `NULLL`, то линковка прошла неудачно        */
  if(!hdspl)
  {
    printf("libdspl loading error!\n");
    return -1;
  }
  
  /*
  Линковка прошла успешно можно вызывать функции DSPL-2.0
  */
  
  /* 
  Перед корректным завершением приложения необходимо разлинковать 
  библиотеку и очистить память.
  */
  dspl_free(hdspl); 

  return 0;
}

\endcode



\author
Бахурин Сергей
www.dsplib.org
**************************************************************************** */




/*! ****************************************************************************
\ingroup SYS_LOADING_GROUP
\fn void dspl_free(void* handle)
\brief 
Очищает связанную ранее динамическую библиотеку DSPL-2.0.

Данная кроссплатформенная функция производит очистку библиотеки `libdspl.dll` в 
системе Windows и с библиотеки `libdspl.so` в системе Linux. 
После очистки библиотеки все функции станут недоступны.

\param[in] handle
Хэндл прилинкованной ранее библиотеки DSPL-2.0. \n
Данный указатель может быть `NULL`, в этом случае никакие действия не 
производятся.

\author
Бахурин Сергей
www.dsplib.org
**************************************************************************** */
