-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathfaq.doxypage
52 lines (51 loc) · 1.83 KB
/
faq.doxypage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*
* This file is part of Lua API++ library (https://github.com/OldFisher/lua-api-pp)
* distributed under MIT License (http://opensource.org/licenses/MIT).
* See license.txt for details.
* (c) 2014 OldFisher
*/
/**
* @page faq FAQ
*
* @tableofcontents
*
* @section faq_compat Compatibility
* @subsection faq_compat_versions Which versions of Lua does this library support?
* Versions @ref compatibility_5_1 "5.1", @ref compatibility_5_2 "5.2" and @ref compatibility_5_3 "5.3".
*
* @subsection faq_compat_luajit Is this library compatible with LuaJIT?
* Yes, all tests pass with LuaJIT in @ref compatibility_5_1 "5.1" compatibility mode.
*
* @section faq_programming Programming
* @subsection faq_programming_polymorphic_userdata Is it possible to use inherited classes with virtual functions as userdata?
* Yes, just @ref LUAPP_USERDATA "assign" same string ID for base and derived classes.
* In methods @ref lua::Valref::cast "cast" @b self parameter to base class.
* Use base class methods for automatic wrapping.
*
* @section faq_known_problems Technical issues
* @subsection faq_known_problems_sjlj I compiled the motivational example and it crashes on out-of-bound array access.
* Using SJLJ mechanism for exceptions may create conflicts with Lua error reporting mechanism because it uses SJLJ too.
* It happens on chained exception-error-exception conversions (most probable point
* being State::call and State::run functions that encounter exception-raising error in
* Lua-API++ powered functions).
* How to avoid that problem:
* @li use compiler with another exception mechanism (SJLJ isn't that good anyway);
* @li make sure that pieces of Lua code executed with @ref lua::State::runString(const char*) "runString" / @ref lua::State::runFile(const char*) "runFile"
* have simple error-free skeleton that protects calls to main code.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/