kopia lustrzana https://github.com/Dsplib/libdspl-2.0
added documentation for dspl_load and dspl_free
rodzic
299c6215d6
commit
74b1b0cece
|
@ -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
|
||||
**************************************************************************** */
|
|
@ -1,5 +1,11 @@
|
|||
/*! ****************************************************************************
|
||||
|
||||
\defgroup SYS_LOADING_GROUP Функции динамического связывания библиотеки DSPL-2.0
|
||||
В данной группе описаны функции динамической линковки библиотеки в приложениях
|
||||
пользователя. Данные функции являются кроссплатформенными и обеспечивают единый
|
||||
интерфейс динамического связывания в Linux и Windows.
|
||||
|
||||
|
||||
\defgroup TYPES_GROUP Типы данных DSPL
|
||||
В данной группе описаны типы данных библиотеки DSPL и методы их преобразования.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -215,7 +215,7 @@ void* dspl_load()
|
|||
printf("libdspl.dll loading ERROR!\n");
|
||||
return NULL;
|
||||
}
|
||||
#endif /* WIN_OS */
|
||||
#endif /* WIN_OS */
|
||||
|
||||
|
||||
#ifdef LINUX_OS
|
||||
|
|
Ładowanie…
Reference in New Issue