Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
lm2:ce:s_pl [2020/08/04 15:43] ruben |
lm2:ce:s_pl [2020/11/30 14:12] (текущий) |
||
|---|---|---|---|
| Строка 21: | Строка 21: | ||
| </ | </ | ||
| - | ==== Написание плагина (Windows) ==== | ||
| - | Создаем DLL, например через Visual Studio. Из DLL д.б. экспортированы функции: | + | **Написание плагина (Windows)** |
| - | Заголовочный файл с прототипами этих функций (lmuLib.h):\\ | + | |
| - | #pragma once\\ | + | Создаем DLL, например через Visual Studio. Из DLL должны |
| + | |||
| + | < | ||
| + | "< | ||
| + | |||
| + | </ | ||
| + | |||
| + | если надо сгенерировать событие или строку | ||
| + | |||
| + | < | ||
| + | " | ||
| + | |||
| + | </ | ||
| + | |||
| + | если не надо. | ||
| + | |||
| + | **Заголовочный файл с прототипами этих функций (lmuLib.h):** | ||
| + | <code cpp> | ||
| + | #pragma once | ||
| #include < | #include < | ||
| - | #ifdef LMULIB_EXPORT\\ | + | #ifdef LMULIB_EXPORT |
| - | #define LMULIB_API extern " | + | #define LMULIB_API extern " |
| - | #else\\ | + | #else |
| - | #define LMULIB_API extern " | + | #define LMULIB_API extern " |
| #endif | #endif | ||
| - | #pragma warning(push)\\ | + | #pragma warning(push) |
| #pragma warning(disable: | #pragma warning(disable: | ||
| - | LMULIB_API bool Set(const std:: | + | LMULIB_API bool Set(const std:: |
| - | LMULIB_API std::string Get(const std:: | + | LMULIB_API std::string Get(const std:: |
| LMULIB_API std::string PollEvents(); | LMULIB_API std::string PollEvents(); | ||
| - | #pragma warning(pop)\\ | + | #pragma warning(pop) |
| - | Написание плагина (Linux)\\ | + | |
| - | Все аналогично. Заголовочный файл (lmuLib.h):\\ | + | |
| - | #pragma once\\ | + | </ |
| + | |||
| + | ==== Написание плагина (Linux) | ||
| + | |||
| + | Все аналогично. | ||
| + | |||
| + | **Заголовочный файл (lmuLib.h):** | ||
| + | <code cpp> | ||
| + | #pragma once | ||
| #include < | #include < | ||
| extern " | extern " | ||
| + | bool Set(const std:: | ||
| + | std::string Get(const std:: | ||
| + | std::string PollEvents(); | ||
| + | } | ||
| - | bool Set(const std:: | ||
| - | std::string Get(const std:: | ||
| - | std::string PollEvents(); | ||
| - | }\\ | + | </ |
| - | Для того, чтобы скомпилировать динамически загружаемую библиотеку, | + | |
| - | g++ -std=c++11 -c *.cpp -fPIC\\ | + | Для того, чтобы скомпилировать динамически загружаемую библиотеку, |
| + | |||
| + | <code bash> | ||
| + | g++ -std=c++11 -c *.cpp -fPIC | ||
| g++ -shared -o libplugin.so -std=c++11 *.o | g++ -shared -o libplugin.so -std=c++11 *.o | ||
| + | |||
| + | |||
| + | </ | ||