added documentation for dspl_load and dspl_free

pull/6/merge
Sergey Bakhurin 2020-05-17 23:48:24 +03:00
rodzic 299c6215d6
commit 74b1b0cece
4 zmienionych plików z 94 dodań i 2 usunięć

Wyświetl plik

@ -0,0 +1,86 @@
/*! ****************************************************************************
\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
**************************************************************************** */

Wyświetl plik

@ -1,5 +1,11 @@
/*! ****************************************************************************
\defgroup SYS_LOADING_GROUP Функции динамического связывания библиотеки DSPL-2.0
В данной группе описаны функции динамической линковки библиотеки в приложениях
пользователя. Данные функции являются кроссплатформенными и обеспечивают единый
интерфейс динамического связывания в Linux и Windows.
\defgroup TYPES_GROUP Типы данных DSPL
В данной группе описаны типы данных библиотеки DSPL и методы их преобразования.

Wyświetl plik

@ -31,7 +31,7 @@ DSPL-2.0 --- свободная библиотека алгоритмов циф
\ref getting_started_toolchain \n
\ref getting_started_make \n
\ref getting_started_codeblocks \n
\ref SYS_LOADING_GROUP \n
\subsection sec_doc_content Разделы документации
<b>Математические функции:</b> \n

Wyświetl plik

@ -215,7 +215,7 @@ void* dspl_load()
printf("libdspl.dll loading ERROR!\n");
return NULL;
}
#endif /* WIN_OS */
#endif /* WIN_OS */
#ifdef LINUX_OS