doc ru
This commit is contained in:
@@ -44,12 +44,13 @@
|
||||
//! to use it with \b new creation.
|
||||
//!
|
||||
//! Main method of %PILibrary is \a resolve(const char *), which returns
|
||||
//! "void*" pointer to requested method. One should test it
|
||||
//! \c void* pointer to requested method. One should test it
|
||||
//! to \c nullptr and convert it in pointer to the required method.
|
||||
//!
|
||||
//! In case of C++ libraries it`s very important to use C-linkage
|
||||
//! In case of C++ libraries it`s very important to use [C-linkage](https://en.cppreference.com/w/cpp/language/language_linkage)
|
||||
//! of exported methods! You may also need to mark methods for
|
||||
//! export, e.g. \с __declspec(dllexport)
|
||||
//! export, e.g. \c __declspec(dllexport). You can include \c <piplugin.h>
|
||||
//! and use \a PIP_PLUGIN_EXPORT to mark exports with PIP.
|
||||
//!
|
||||
//! \~russian
|
||||
//! %PILibrary позволяет динамически загружать стороннюю библиотеку
|
||||
@@ -58,12 +59,13 @@
|
||||
//! рекомендуется создавать её с помощью \b new.
|
||||
//!
|
||||
//! Основной метод %PILibrary - это \a resolve(const char *), который возвращает
|
||||
//! "void*" указатель на запрошенный метод. Необходимо проверить его
|
||||
//! \c void* указатель на запрошенный метод. Необходимо проверить его
|
||||
//! на \c nullptr и преобразовать в указатель на нужный метод.
|
||||
//!
|
||||
//! В случае C++ библиотеки очень важно использовать C-linkage
|
||||
//! В случае C++ библиотеки очень важно использовать [C-linkage](https://en.cppreference.com/w/cpp/language/language_linkage)
|
||||
//! для экспортируемых методов! Также может понадобиться пометить
|
||||
//! методы на экспорт, например, \с __declspec(dllexport)
|
||||
//! методы на экспорт, например, \c __declspec(dllexport). Можно включить \c <piplugin.h>
|
||||
//! и использовать \a PIP_PLUGIN_EXPORT, чтобы пометить экспорт с помощью PIP.
|
||||
//!
|
||||
//! \~\code
|
||||
//! extern "C" {
|
||||
@@ -175,6 +177,31 @@ bool PILibrary::isLoaded() const {
|
||||
}
|
||||
|
||||
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! Returns exported method with name "symbol" from
|
||||
//! loaded library. Method have to use [C-linkage](https://en.cppreference.com/w/cpp/language/language_linkage) and
|
||||
//! marked to export, according to compiler specification.\n
|
||||
//! C-linkage doesn`t provide information about return type
|
||||
//! and arguments, so you should manually convert obtained
|
||||
//! pointer to required method format before call.
|
||||
//!
|
||||
//! \~russian
|
||||
//! Возвращает экспортированный метод с именем "symbol"
|
||||
//! из загруженной библиотеки. Метод должен иметь [C-linkage](https://en.cppreference.com/w/cpp/language/language_linkage)
|
||||
//! и помечен для экспорта, согласно спецификации компилятора.\n
|
||||
//! C-linkage не предоставляет информации о возвращаемом типе
|
||||
//! и аргументах, поэтому необходимо вручную преобразовать
|
||||
//! полученный указатель к формату требуемого метода перед вызовом.
|
||||
//!
|
||||
//! \~\return
|
||||
//! \~english
|
||||
//! \b void* pointer to method or\n
|
||||
//! \b nullptr if method doesn`t exists or library not loaded
|
||||
//!
|
||||
//! \~russian
|
||||
//! \b void* указатель на метод или\n
|
||||
//! \b nullptr если метод не существует или библиотека не загружена
|
||||
void * PILibrary::resolve(const char * symbol) {
|
||||
if (!isLoaded()) return 0;
|
||||
void * ret;
|
||||
|
||||
Reference in New Issue
Block a user